gpt4 book ai didi

c++ - 简单的 c++ 程序无法作为计划任务运行(交互式/非交互式问题?)

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:56 28 4
gpt4 key购买 nike

我正在运行 Win 7 x64,我用 Microsoft Visual c++ 2010 express 编写了一个非常简单的 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 状态。)

据我所知,该程序似乎根本没有交互性。谁能帮我弄清楚为什么会这样以及如何解决?提前致谢

最佳答案

如果我可以回答我自己的问题,这似乎是 Windows 采取的某种安全措施,以避免从用户桌面外部接收键盘/鼠标事件(参见 here)。

关于c++ - 简单的 c++ 程序无法作为计划任务运行(交互式/非交互式问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16939176/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com