Главная » Статьи » Программирование в Delphi

Убрать программу из Alt+Tab и Ctrl+Alt+Del
Для удаления программы из диалога "Завершение работы программы", вызываемого по Ctrl+Alt+Del, нужно используют функцию RegisterServiceProcess. В Windows NT этой функции не существует. Поэтому, чтобы не происходило ошибки, нужно проверять версию Windows. Если это не Windows NT, то нужно динамически загрузить kernel32.dll.

Эта программа исчезает из Alt+Tab, не появляется и кнопка на TaskBar.

Code
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

Источник: http://delphi4all.narod.ru/how/hideprog.htm

Категория: Программирование в Delphi | Добавил: Nikol05 (15.11.2010)
Просмотров: 1833 | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]