를 로그 오프 한 사용자 HKEY_CURRENT_USER 값을 삭제합니다 (위해 Excel에서 추가 기능) 로그온 한 사용자 각각에 대한 HKEY_CURRENT_USER
레지스트리 키에 (ImpersonateLoggedOnUser()
및 RegSetValueEx()
를 호출하여). 시스템 종료를 포함하여 사용자가 로그 오프 할 때이 레지스트리 값을 삭제해야합니다. 로그 오프 할 때 로그 파일이 삭제되지 않고 한 사용자가 소프트웨어를 제거하면 레지스트리의 항목이 서비스 수명 동안 로그온 한 다른 사용자에게 남아있어 Excel이 나타날 때마다 메시지 상자 오류가 표시됩니다 더 이상 존재하지 않는 추가 기능을로드하려고 시도하기 때문에 시작됩니다.Windows 서비스가 레지스트리 값을 생성
고려하지만 다음 거부 :
SetConsoleCtrlHandler()
로그 오프 어떤 사용자의 징후가 없기 때문입니다.REG_OPTION_VOLATILE
키를 만들 때만 효과적이며 값을 생성하기 때문에 (철저하게 조사하지 않아서 키를 만들었더라도 솔루션이되지 못했기 때문)
이에 대한 해결책을 제공하는 다른 메커니즘이 있습니까? Windows 버전은 XP, Vista 및 7입니다.
['WM_QUERYENDSESSION'] (http://msdn.microsoft.com/en-ca/library/windows/desktop/aa376890(v=vs.85)asp#)는 어떻습니까? – chris
@chris, 사용자가 어떻게 로그 오프 했습니까? – hmjd
서비스 프로그램 및/또는 소프트웨어 설치를 제어합니까? 그렇다면 소프트웨어가 종료 될 때 값을 설정 해제 할 수 있습니다 (실제로 C++을 사용하는 경우 RAII 사용). 설치/제거 프로그램을 제어하는 경우 제거시 레지스트리에서 이러한 값을 제거하는 옵션이 있습니다. –