비주얼 C를 결정하는 ++ 2008OpenInputDesktop() 안전/로그인 바탕 화면을
현재 대화 형 사용자가 (윈도우 키 L) 또는 종료 화면 중 잠금 바탕 화면에 있는지 여부를 설정하는 방법(Vista 또는 7) 로그 아웃 중에 프로그램이 닫힐 때까지 기다리는 중입니다.
HDESK hd = OpenInputDesktop (0, false, READ_CONTROL);
기본 데스크톱의 사용자 앱에서는 정상적으로 작동하지만 보안 데스크톱 개체를 열 수있는 권한이 없기 때문에 잠긴 데스크톱이나 종료 된 데스크톱에서 코드 5 오류와 함께 실패합니다.
SYSTEM 계정으로 실행되는 서비스에서 호출하면 오류 1 (잘못된 함수)이 반환됩니다. 본인은 어떠한 경우에도 서비스가 잘못된 세션 (세션 0)에 있고 다른 세션의 대화 형 데스크톱을 확인할 수 없다고 생각합니다.
현재 대화 형 사용자로 실행되는 앱과 시스템 서비스가 실행 중이므로 둘 중 하나에서 코드를 수행 할 수도 있습니다.
모든 세션, 윈도우 스테이션 및 데스크톱을 열거해야합니까?
심지어 세션 0의 SYSTEM 서비스에서 OpenInputDesktop을 호출 할 수만 있다면 현재 대화 형 데스크톱을 어떻게 결정합니까?
아마도 사용자가 데스크톱을 전환 할 때 응답이 어떻게 될까요? 그게 가능하니? – Peter350