Убрать программу из Alt+Tab и Ctrl+Alt+Del |
ОГЛАВЛЕНИЕ    HOME  MAIL |
Для удаления программы из диалога "Завершение работы программы", вызываемого по Ctrl+Alt+Del, нужно используют функцию RegisterServiceProcess. В Windows NT этой функции не существует. Поэтому, чтобы не происходило ошибки, нужно проверять версию Windows. Если это не Windows NT, то нужно динамически загрузить kernel32.dll. Эта программа исчезает из Alt+Tab, не появляется и кнопка на TaskBar. procedure TForm1.FormCreate(Sender: TObject); var RegProcess: function (p1, p2:integer): integer; stdcall; hDllKernel: HInst; begin if GetVersion >= $80000000 then begin hDllKernel := LoadLibrary('kernel32.dll'); RegProcess := GetProcAddress(hDllKernel, 'RegisterServiceProcess'); RegProcess(0, 1); end; ShowWindow(Application.Handle, SW_HIDE); SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); end;Алексей Вторыгин добавил в этот пример проверку версии Windows.
email: delphi4all@narod.ru |