1

我正在运行此代码,这是一个简单的代码,可在戴尔上锁定 Windows 8 屏幕,该戴尔具有可分配给 a 的按钮.exe,但它cmd在锁定之前显示一个窗口,我如何在.exe不显示窗口的情况下启动?

使用 Visual Studio 开发命令提示符进行编译

命令行:

cl lockscreen.cpp

代码:

#include <string>
#include <Windows.h>

using namespace std;

int APIENTRY  WinMain(HINSTANCE hInstance,
        HINSTANCE hPrevInstance, 
        LPTSTR    lpCmdLine, 
        int       cmdShow)
{

    system("rundll32 user32.dll,LockWorkStation");

    return 0;
}
4

3 回答 3

3

链接到 user32.dll(user32.lib 实际上是导入库,但如果这是一个普通的 win32 项目,你应该已经这样做了)并直接调用 LockWorkstation。如果必须,LoadLibrary() + GetProcAddress() + 等。您无需调用 rundll 调用即可使其工作。

于 2012-10-25T17:02:21.630 回答
2

基本上我同意 WhozCraig,但如果有充分的理由通过外部 exe 进行调用,请尝试使用start /b.

于 2012-10-25T17:05:24.470 回答
2

您根本不需要编译任何代码。只需将您的特殊键盘按钮连接到

rundll32.exe user32.dll,LockWorkStation
于 2012-10-25T17:49:22.177 回答