скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



Автор: VID

{ **** 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.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook