Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Скрытие или отображение процесса из списка процессов

Автор: VID
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> СКРЫТИЕ или отображение процесса из списка ctrl+alt+del

СКРЫТИЕ или отображение процесса в списке ctrl+alt+del

ПРАВИЛА ИСПОЛЬЗОВАНИЯ:

ДЛЯ скрытия собственного приложения из списка процессов, отображаемых
при нажатии CTRL+ALT+DEL, вызывайте функцию ShowHideInCad со следующими
параметрами:

ShowHideInCad (TakeMyApplicationProcessID, False) - и название Вашего
приложения будет скрыто из списка CTRL+ALT+DEL

ДЛЯ скрытия процесса чужого приложения, вызывайте функцию с такими
параметрами:

ShowHideInCAD (TakeProcessID('Заголовок окна скрываемого приложения'), FALSE)

Зависимости: windows
Автор:       VID, vidsnap@mail.ru, ICQ:132234868, Махачкала
Copyright:   VID
Дата:        23 мая 2002 г.
***************************************************** }

unit cad;

interface
uses windows;

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external 'KERNEL32.DLL';
function ShowHideInCad(ProcessID: Integer; Show: Boolean): boolean;
function TakeProcessID(WindowTitle: string): Integer;
function TakeMyApplicationProcessID: Integer;

implementation

//Получение дескриптора процесса любого окна, по заголовку этого окна

function TakeProcessID(WindowTitle: string): Integer;
var
  WH: THandle;
begin
  result := 0;
  WH := FindWindow(nil, pchar(WindowTitle));
  if WH <> 0 then
    GetWindowThreadProcessID(WH, @Result);
end;

//Получение дескриптора процесса собственного приложения

function TakeMyApplicationProcessID: Integer;
begin
  Result := GetCurrentProcessID;
end;

//Отображение/Скрытие процесса в CTRL+ALT+DEL

function ShowHideInCAD(ProcessID: Integer; Show: Boolean): Boolean;
begin
  result := true;
  try
    //если show = true , то отображаем процесс в CAD, иначе - прячем
    if Show = True then
      RegisterServiceProcess(ProcessID, 0)
    else
      RegisterServiceProcess(ProcessID, 1);
  except result := false;
  end;
end;

end.
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay