C++ 不活动后自动关闭Adobe Reader C++;

C++ 不活动后自动关闭Adobe Reader C++;,c++,adobe-reader,user-inactivity,C++,Adobe Reader,User Inactivity,我正试图编写一个小程序来跟踪用户的不活动状态,大约30分钟后,在Windows7计算机上杀死所有正在运行的AdobeReader应用程序。我们使用的paychex软件不允许一次打开多个工资存根,因此,如果这些工资存根未关闭,而下一位员工来使用计算机,他们将无法查看其工资存根 也许这更容易使用批处理文件或脚本,但我知道C++相当好,所以这就是我开始的。 < P>检测Windows是空闲的是最困难的部分,但幸运的是,您有Windows 7,可以使用。p> 之后,只需向Adobe Reader发送窗口

我正试图编写一个小程序来跟踪用户的不活动状态,大约30分钟后,在Windows7计算机上杀死所有正在运行的AdobeReader应用程序。我们使用的paychex软件不允许一次打开多个工资存根,因此,如果这些工资存根未关闭,而下一位员工来使用计算机,他们将无法查看其工资存根


也许这更容易使用批处理文件或脚本,但我知道C++相当好,所以这就是我开始的。

< P>检测Windows是空闲的是最困难的部分,但幸运的是,您有Windows 7,可以使用。p> 之后,只需向Adobe Reader发送窗口关闭消息。查找包含支付存根名称的标题,以便关闭正确的实例


检测Windows空闲是最困难的部分

其实很简单。你可以用。这是我创建的一个程序中的一个片段,该程序正是这样做的:

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;

请注意,这不是基于事件的。您应该将其放在一个循环中,并根据需要的频率,使用它不时检查空闲时间。从你所说的,每几秒就可以了。< /P>那么,问题是什么?有没有一种简单的方法来跟踪不活动和关闭Adobe读取器,使用C++还是批处理文件?