Cкрытиe прoцеccoв


Magic_Mushroom

Уважаемый пользователь
Форумчанин
Регистрация
30.06.2014
Сообщения
178
Репутация
78
[HIDE=1]нашел интересную статья на хабре http://habrahabr.ru/post/180933/
в статье предоставлен исходник демонстрационного приложиния на делфи для скрытия процессов из диспетчера задач Windows
Код:
var
ind:integer;
h:Thandle;
last_c:integer;


procedure UpdateList();
var
th:THandle;
entry:PROCESSENTRY32;
b:boolean;
i,new_ind:integer;
plist:TStringList;
begin

// Список процессов
plist:=TStringList.Create;

// Формируем список процессов
th := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
entry.dwSize:=sizeof(PROCESSENTRY32);
b:=Process32First(th,entry);
while(b) do
begin
  plist.Add(entry.szExeFile);
  b:=Process32Next(th,entry);
end;

// Сортируем его, чтобы индексы элементов
// совпадали с теми, что в диспетчере задач
plist.Sort;
last_c:=plist.Count;

// Поиск индекса нашего процесса 'explorer.exe'
for i:=1 to plist.Count-1 do
if(LowerCase(plist[i])='explorer.exe') then new_ind:=i-1;

// Удаление объекта из списка
if(new_ind<>ind) then ListView_DeleteItem(h,ind);
ind:=new_ind;
plist.Free;

// Запускаем таймер отслеживания обновлений в списке процессов
if(Form1.Timer2.Enabled=false)  then Form1.Timer2.Enabled:=true;

end;


procedure TForm1.HideProcessButton(Sender: TObject);
begin
//  Ищем дочернее окно класса 'SysListView32'
h:=FindWindow(nil,'Диспетчер задач Windows');
h:=FindWindowEx(h,0,nil,'Процессы');
h:=FindWindowEx(h,0,'SysListView32',nil);

// Запускаем таймер переформирования списка процессов
Timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
UpdateList();
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
// Поиск изменений в списке
if(ListView_GetItemCount(h)>last_c) then
ListView_DeleteItem(h,ind);
last_c:=ListView_GetItemCount(h);
end;
познаний в делфи к сожалению не имеется, буду очень признателен ,если кто-нибудь изменит скрипт, чтобы программа запускалась в скрытом режиме и скрывала нужный процесс/процессы (и себя, если это возможно) , которые в свою очередь будут прописываться в скрипте перед компиляцией blush1
[/HIDE]
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
буду очень признателен ,если кто-нибудь изменит скрипт, чтобы программа запускалась в скрытом режиме и скрывала нужный процесс/процессы (и себя, если это возможно)
Не пробовал, а программа сама работает-нет ?

Если по логике:

Код:
// Поиск индекса нашего процесса 'explorer.exe ' for i:=1 to plist.Count-1 do
if(LowerCase(plist[i])='explorer.exe') then new_ind:=i-1;

Вместо 'explorer.exe ' вписывай свой, и посмотри может даже заработает...WinkSmile

Как это всё сделать скрыто, т.е. убрать форму, кнопки и прочее, поищи в сети, ничего сложного быть не должно...
 
Верх Низ