Скрытие или отображение процесса из списка процессов

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: 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.

{/codecitation}

Добавить комментарий