Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 发送消息Ctrl+;Alt+;从我的申请中删除_Windows_Winapi_Mfc - Fatal编程技术网

Windows 发送消息Ctrl+;Alt+;从我的申请中删除

Windows 发送消息Ctrl+;Alt+;从我的申请中删除,windows,winapi,mfc,Windows,Winapi,Mfc,我想在MFC中编写一个小实用程序,将Ctrl+Alt+Del消息发送到操作系统。有谁能帮我做到这一点吗?我试过: ::PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG( MOD_CONTROL | MOD_ALT, VK_DELETE)); 但这是行不通的 我想发送Ctrl+Alt+Del以不调用TaskMgr.exe。此外,它适用于我的本地操作系统(Windows XP Service pack 2)。基本上,我想使用此应用程序锁定我的机器

我想在
MFC
中编写一个小实用程序,将Ctrl+Alt+Del消息发送到操作系统。有谁能帮我做到这一点吗?我试过:

::PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG( MOD_CONTROL | MOD_ALT, VK_DELETE));
但这是行不通的


我想发送Ctrl+Alt+Del以不调用
TaskMgr.exe
。此外,它适用于我的本地操作系统(Windows XP Service pack 2)。基本上,我想使用此应用程序锁定我的机器,并在锁定的同时安排一些操作。

由于VNC可以让您对远程系统执行此操作,因此必须是可能的。如果我是你的话,我会用拖网在街上搜寻。然后我会把答案贴在这里:)

让机器关机或注销不是更容易吗?那个组合键不是个好主意吗?您可以发送这些消息。

您需要发送control+alt+delete还是只想打开任务管理器


如果只需要启动任务管理器,只需运行\Windows\System32\taskmgr.exe即可。这不是可以模拟的按键。它被称为“安全注意序列”。 以下是如何从远程桌面调用它(XP+解决方案):

包括
IShellDispatch4*pShell;
共初始化(空);
HRESULT hr=CoCreateInstance(CLSID_外壳,NULL,CLSCTX_INPROC_服务器,
IID_IShellDispatch(无效**)和pShell);
如果(成功(hr))
pShell->WindowsSecurity();
coninitialize();
从本地桌面调用它的唯一解决方案是使用SASLib。这不是公开的。写便条给saslib@microsoft.com请求它


编辑:等等!你想把机器锁上吗?打电话就行了!单击该链接可获得有关头文件、lib文件等所有其他详细信息的更多信息。

您不能启动屏幕保护程序,它将为您提供锁定功能吗?我现在没有可用的Windows机器,但我记得有人可能会像这样锁定工作站。

我知道这是一个老问题,但我在这里发布我的解决方案,以防有人来这里寻找解决方案。第1部分和第2部分文章解释了Winlogon如何注册CAD序列,并提供了如何使用该序列的代码示例

  • (免费)
  • (免费)
  • (对不起,这不是免费的)

调用函数以实现此目的

我听说不能从代码中调用ctrl-alt-del组合。微软实现了这一点来对抗机器人。几年前就听说了。(顺便说一句,如果您试图获得任务控制窗口,请尝试ctrl-shift-esc)我同意。当我们学习“挂钩”时,从一位朋友那里听到了同样的话。谢谢,LockWorkStation()是windows的一部分。对吗?我不会编译。我还需要其他东西吗?当然,但前提是屏幕保护程序配置为密码保护。
include <shldisp.h>

IShellDispatch4 *pShell;

CoInitialize(NULL);

HRESULT hr = CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
IID_IShellDispatch, (void**)&pShell);

if(SUCCEEDED(hr))
pShell->WindowsSecurity();

CoUninitialize();