2014-01-30 7 views
1

사용자 비활성을 추적하고 약 30 분 후에 Windows 7 컴퓨터에서 실행중인 모든 Adobe Reader 응용 프로그램을 종료하는 작은 프로그램을 작성하려고합니다. 우리가 사용하는 paychex 소프트웨어는 한 번에 하나 이상의 지불 스텁을 열 수 없으므로 폐쇄되지 않고 다음 직원이 컴퓨터를 사용하게되면 지불 스텁을 볼 수 없습니다.비활성 후 Adobe Reader 자동 닫기 C++

배치 파일이나 스크립팅을 사용하면 더 쉬울 수도 있지만 C++을 잘 알고 있기 때문에 처음부터 시작했습니다.

+1

그럼 뭐가 문제입니까? – MSalters

+0

비 활동을 추적하고 C++ 또는 배치 파일을 사용하여 Adobe Reader를 닫는 쉬운 방법이 있습니까? – jsnaredude

답변

1

Windows가 유휴 상태임을 감지하는 것이 가장 힘든 부분이지만 운좋게도 Windows 7을 사용하고 IIdleTrigger을 사용할 수 있습니다.

그런 다음 Adobe Reader에 창 닫기 메시지를 보내면됩니다. 유료 스텁 이름이 포함 된 캡션을 찾아 올바른 인스턴스를 닫습니다. Windows가 유휴 상태임을 감지

0

는 사실 매우 쉽게 가장 어려운 부분

입니다. GetLastInputInfo function을 사용할 수 있습니다. 이것은 정확히 내가 만든 프로그램에서 발췌 한 내용입니다.

unsigned idle_time; 

// get idle time 
LASTINPUTINFO last_input_info; 
DWORD this_time; 

last_input_info.cbSize = sizeof(LASTINPUTINFO); 
GetLastInputInfo(&last_input_info); 
#pragma warning(suppress: 28159) // Consider using GetTickCount64() instead 
this_time = GetTickCount(); 

idle_time = this_time - last_input_info.dwTime; 

이벤트 기반이 아니라는 점에 유의하십시오. 루프에 넣고 Sleep을 사용하여 필요한 빈도에 따라 때때로 유휴 시간을 확인해야합니다. 당신이 묘사하는 것으로부터, 몇 초마다와 같은 것이 괜찮을 것입니다.