2012-09-21 5 views
0

내 응용 프로그램에서 사용자가 휴식을 취하고 로그 아웃 버튼을 클릭 할 때 두 가지를 수행하고 싶습니다. 즉, 사용자가 로그 아웃되는 시간을 보여줄 것 보호기 맞춤형 화면 보호기 + 잠금 장치를 실행하십시오.

  1. 기계
  2. 실행을 사용자 정의 화면을 잠급니다.

    [DllImport("user32.dll")] 
    private static extern void LockWorkStation(); 
    

    나는 사용자 정의 화면 보호기를 만드는 방법에 tutorial을 발견

나는 쉽게 잠금을 할 수 있었다. 샘플 코드를 다운로드했는데 정상적으로 작동했습니다. 하지만 내가 추가했을 때 LockWorkStation(); 라인이 화면 보호기를 죽였습니다.

이 문제를 해결하거나 해결 방법을 제안 할 수 있습니까? 튜토리얼에서

편집

이 화면 보호기는 단지의 WinForm 승이다. 어떻게 든 시스템에 설치해야합니까? 내 응용 프로그램 수준에서 가능한 양식입니까?

답변

2

가장 가능성이 솔루션은 다음과 같습니다

  1. 워크 스테이션 잠금이
  2. 두 번째 단계의 화면 보호기

보기, 다음과 같은 중요 :

당신의 응용 프로그램입니다 단순히 창을 보여주는 프로그램. 따라서 워크 스테이션이 잠길 때 표시하려는 창은 사용자에게 표시되지 않습니다.
실제 화면 보호기로 프로그램을 register으로 설정하고 현재 화면 보호기로 설정하고 시작하는 경우에만 창이 표시됩니다 (예 : SC_SCREENSAVE 메시지 사용).

+0

작동하지 않습니다. 화면 보호기가 깜박이고 로그인 화면으로 바뀝니다. LockWorkStation(); ScreenSaverForm 화면 보호기 = 새 ScreenSaverForm (screen.Bounds); screensaver.Show(); 이 화면 보호기가 WinForm 일 뿐이 기 때문일 수도 있습니다. 어떻게 든 내 응용 프로그램 수준에서 '설치'할 수 있습니까? – gisek

+0

@ gisek : 귀하의 가정이 맞을 가능성이 큽니다. 업데이트 된 답변을 확인하십시오. –

관련 문제