2013-02-24 4 views
1

Delphi 2010Скрыть и показать процесс с диспетчера задач

У меня есть список, который я заполняю списком всех идентификаторов процесса.

function EnumProcess(hHwnd: HWND;lParam : integer): boolean; stdcall; 
var 
    pPid : DWORD; 
    title, className : string; 
begin 
    if(hHwnd=NULL) then 
    begin 
    result := false; 
    end 
    else 
    begin 
    GetWindowThreadProcessId(hHwnd,pPid); 
    SetLength(className, 255); 
    SetLength(className, GetClassName(hHwnd, PChar(className), Length(className))); 
    SetLength(title, 255); 
    SetLength(title, GetWindowText(hHwnd, PChar(title), Length(title))); 
    //form1.ListBox1.Items.Add('Class Name = ' + className + '; Title = ' + title + '; HWND = ' + IntToStr(hHwnd) + '; Pid = ' + IntToStr(pPid)); 
    form1.ListBox1.Items.Add(IntToStr(pPid)); 
    result := true; 
    end; 
end; 

Есть ли способ скрыть и показать PID? Мне нужна функция, чтобы скрыть и функцию, чтобы показать или один, который может обрабатывать как

function HidePID(Value: DWord): Boolean; 

function ShowPID(Value: DWord): Boolean; 
+1

Что это значит? Вы хотите скрыть ПИД из своего списка. Или вы хотите скрыть это от диспетчера задач, как руткит? –

+0

Спрячьте его из диспетчера задач (после выбора из списка и нажатия на скрыть). Просто любопытно, если это возможно? – JakeSays

+4

В каком случае, какова релевантность кода в вопросе? Вы пытаетесь написать вредоносное ПО, руткит? –

ответ

5

Там не поддерживается способ, чтобы скрыть процесс от диспетчера задач системы.

2

Диспетчер задач показывает вам «приложения», которые запущены.

Например прямо сейчас мой рабочий стол только пять "приложений", и только те, 5 появляются в Task Manager:

enter image description here

Task Manager не показывает вам "фоновые приложения" , «услуги» или приложения, выполняемые другими лицами. Например, прямо сейчас мой вход в сессии также работает:

  • Utorrent
  • Паровой
  • Process Explorer
  • Skype
  • Skydrive
  • Действие Схема

Причиной, побуждающей вы не видите эти программы в Task Manager объясняется тем, что нет видимого окна , связанного с этими приложениями. И ваш ответ:

Чтобы скрыть приложение из Task Manager: не показывают видимое окно.

Примечание: Вы не можете скрыть свой процесс; для этого нарушится "Arms race between programs and users"

+0

Неужели Windows сильно изменилась с Windows XP в этом отношении? Насколько мне известно (с помощью диспетчера задач XP) вы не можете отменить приложение со вкладки «Процессы», но вы можете очень легко удалить приложение со вкладки «Приложения», явно указав Application.Title на ' 'в dpr. Конечно, если это приложение systray, скрытие записи в панели задач тоже будет умным. Разве это не так в новых версиях? – Glenn1234

+2

Вы по-прежнему не можете удалить приложение со вкладки процессов. –

+0

Да, это относится только к работающим * приложениям *, но это не относится к работающим * процессам *. Две разные истории. –

Смежные вопросы