2010-04-06 2 views
4

У меня есть следующий код для отключения диспетчера задач Windows XP, но он по-прежнему отображает сообщение «Диспетчер задач отключен», и мы должны нажать okкак остановить это сообщение при нажатии CTRL + ALT + DEL?

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

я хочу, что когда какой-либо один нажимает 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 
+0

Я не думаю, что это вопрос программирования, и я почти уверен, что вы не можете отключить это сообщение. – wRAR

+1

@ wRAR: Я не согласен, это вопрос программирования. Основная мысль должна быть: я действительно хочу, чтобы это было возможно на моей машине? – lexu

+0

@lexu: Я не думаю, что вопросы о реестре учитываются при программировании только потому, что реестр может быть изменен с помощью WinAPI, и вы не можете делать что-либо с SAK программно по определению (возможно, если вы каким-то образом не столкнетесь с внутренностями ОС). – wRAR

ответ

3

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

EDIT:

Moon, я только что заметил your previous attempt at asking this same question. Это поражает вашего клиента чрезмерным описанием их требований. Почему кто-нибудь хотите отключить диспетчер задач во время выполнения обычного приложения Windows? Единственными подлинными сценариями, которые я могу придумать для этого, являются:

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

Я разрабатываю встроенное приложение для этой цели, мне нужно все это. – Badr

+1

Я думаю, дело в том, что «вы не можете добраться отсюда». Возможно, если вы разместите вопрос с более широким охватом (т. Е. Общая цель), вы обнаружите еще один путь, который не предполагает использование тактики вредоносных программ для достижения вашей цели. –

Смежные вопросы