как остановить это сообщение при нажатии CTRL + ALT + DEL? - PullRequest
4 голосов
/ 06 апреля 2010

У меня есть следующий код для отключения диспетчера задач Windows XP, но он по-прежнему отображает сообщение «Диспетчер задач отключен», и мы должны нажать ОК

как я могу отключить даже это сообщение;

Я хочу, чтобы когда кто-нибудь нажимал 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

1 Ответ

3 голосов
/ 06 апреля 2010

Комбинация клавиш CTRL + ALT + DEL перехватывается и обрабатывается Windows напрямую, не преобразуется в сообщение нажатия клавиши и отправляется в активное окно все остальные комбинации клавиш. Это позволяет Windows отображать пользовательский интерфейс рабочего стола безопасности, даже если компьютер был взломан. Хотя вы можете выборочно отключать определенные функции рабочего стола безопасности, манипулируя ключами реестра, вы не сможете избавиться от самого рабочего стола.

EDIT:

Луна, я только что заметил вашу предыдущую попытку задать этот же вопрос . Это попахивает вашего клиента чрезмерной спецификацией их требований. Зачем кому-нибудь хотеть отключить диспетчер задач во время выполнения обычного приложения Windows? Единственные подлинные сценарии, которые я могу придумать для этого:

  1. Вы являетесь сетевым администратором и хотите отключить диспетчер задач на всех своих рабочих станциях. В этом случае вы должны использовать групповую политику, чтобы отключить ее, а не взломать реестр.
  2. Вы пишете приложение для киоска. Я не знаю много о приложениях Kiosk, но я уверен, что где-то есть официальный Windows API, чтобы контролировать, как они работают. Используйте это вместо этого.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...