我有下面的代码来禁用Windows XP的任务pipe理器,但它仍然显示消息“任务pipe理器被禁用”,我们必须按确定
我怎么能禁止甚至这个消息;
我想,当任何一个按下CTRL + ALT + DEL什么也没有发生,甚至没有消息对话框。
HKEY hMykey; DWORD pDWDisp; unsigned char cData[1]; cData[0]='1'; LONG lRes = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\system", 0,"DisableTaskMgr",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL,&hMykey,&pDWDisp); // Open a key for edit if(lRes != ERROR_SUCCESS) { MessageBox(0,"Error opening key","",MB_OK); exit(0);// Shutdown on fail }//End if lRes = RegSetValueEx(hMykey,"DisableTaskMgr",0,REG_DWORD, (LPBYTE)cData,sizeof(cData));// Add your key value if(lRes != ERROR_SUCCESS) { MessageBox(0,"Error saving record","",MB_OK); RegCloseKey(hMykey); exit(0);// Shutdown on fail }//End if
CTRL + ALT + DEL组合键被Windows直接拦截和处理,不会被翻译成按键消息,并像所有其他键组合一样被发送到活动窗口。 这是为了允许Windows显示安全桌面用户界面,即使机器已经被入侵。 虽然您可以通过操作注册表项来选择性地禁用安全桌面的某些功能,但您将无法摆脱桌面本身。
编辑:
月亮,我刚才注意到你以前的这个问题 。 这对你的客户来说过分了。 为什么有人想要在正常的Windows应用程序执行期间禁用任务管理器? 我能想到的唯一的真实场景是: