我正在运行Win 7 x64,我用Microsoft Visual c + + c + 2010编写了一个非常简单的c ++程序,作为任务调度程序中的任务运行。这是程序代码(没有资源文件或头文件):
#include <windows.h>
int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev,LPSTR cmd,int show)
{
// Simulate numlock key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate numlock key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
return 0;
}
我希望将该任务作为SYSTEM帐户运行,以便不依赖于任何用户凭据或是否已登录。但是,我无法将其成功运行为任务计划程序中的任务。在做了一些研究之后,我现在怀疑作为SYSTEM运行的任务无法交互的事实是这个程序无法正常工作的原因(通过使用PsExec工具,我可以确认'PsExec -s -i my_program.exe '工作,而'PsExec -s my_program.exe'无法更改numlock状态。)。
从我所看到的,该程序似乎根本不是交互式的。任何人都可以帮我弄清楚为什么会发生这种情况以及如何解决这个问题? 提前致谢