2010-06-05 4 views
0

타사 응용 프로그램이 실행 중입니다. 20 분 동안 유휴 상태 일 때 로그인 대화 상자를 보여줍니다. 응용 프로그램이 로그인 화면을 표시하지 못하게해야합니다.타사 응용 프로그램의 유휴 세션 만료

유휴 상태가 해당 응용 프로그램에서 내부적으로 어떻게 처리되는지는 알지 못합니다.

우리는 행운과 함께 다음을 수행했습니다.

  1. 는 매 5 분 (SetForegroundWindow() 사용) 후 초점을 C#을에있는 작은 응용 프로그램을 작성하고 자식 창 중 하나에 BM_CLICK 메시지를 보냅니다. 작동하지 않습니다.
  2. 5 분마다 (SetForegroundWindow() 사용) 초점을 맞추고 커서를 몇 픽셀 이동 한 다음 커서를 이전 위치로 복원하십시오. 이것도 작동하지 않습니다!

목표를 달성하기 위해 다른 방법이 있습니까?

답변

0

타사 응용 프로그램이 GetLastInputInfo 함수를 사용하여 유휴 상태를 감지하면 SendInput을 사용하여 유휴 상태를 다시 설정할 수 있습니다. 마우스를 1 또는 0 픽셀로 이동하는 것과 같이 일반적인 프로그램 실행에 영향을주지 않는 입력 이벤트를 찾습니다.

+0

나는 이것을 시도했다. 내 질문을 다시 읽으십시오. 나는 이것을 달성하기 위해 sendmessage를 사용했다. – Manjoor

+0

SendInput이 BM_CLICK와 같지 않습니다. 어쨌든, 다시 귀하의 질문을, 감사 드리겠습니다 :) –

+0

좋아, 고맙습니다 sendinput 함께 시도하자 – Manjoor

관련 문제