1

我想使用窗口服务锁定屏幕。我的操作系统是 win 7,我知道服务有一些权利问题,因此我做了以下实验,但我的实验都没有奏效。

我制作了一个新的 exe 文件并在 LockWorkStation 中调用。手动它会锁定屏幕,但从服务中调用此 exe 会导致访问被拒绝。

这是我的服务中的调用者代码

if (CreateProcess(folder.c_str(),NULL, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
{
        ::WaitForSingleObject(processInfo.hProcess, 1000);
        DWORD exit = 100;
        GetExitCodeProcess(processInfo.hProcess, &exit);

        CloseHandle(processInfo.hProcess);
        CloseHandle(processInfo.hThread);
}

为了让它运行,我使用当前的 Windows 用户 ID 和密码登录了我的服务。仍然没有工作,然后我勾选了允许服务与桌面交互。使用它可以成功并且没有显示错误,但屏幕仍然没有被锁定。(我知道使用与桌面服务的交互是不安全的,但我在想是否有人对此有任何解决方案?)

4

0 回答 0