Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 16:28   #1
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию Заморозка и возобновление процесса

Всем добрый день! Сразу к делу,
Есть такая прога Process Explorer , там можно выбрать запущенный exeшник и заморозить его (приостановить) и потом возобновить..
Подскажите код, как это реализовывается на Delphi
Заранее спасибо!
logitech12 вне форума Ответить с цитированием
Старый 12.05.2011, 23:12   #2
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

поиск рулит

goooogle

там в первых строках ссылки, выкладывать не буду так как ведут на чужой форум
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 13.05.2011, 15:48   #3
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию

Код:
uses TlHelp32;
function OpenThread (dwDesiredAccess : DWORD; bInheritHandle : BOOL; dwThreadId : DWORD) : THandle; stdcall; external 'kernel32.dll';
const
  THREAD_SUSPEND_RESUME = $0002;
procedure SetSuspendState (PID : DWORD; Resume : Boolean);
var
  hSnap, hThread : THandle;
  te32 : THREADENTRY32;
begin
  hSnap := CreateToolhelp32Snapshot (TH32CS_SNAPTHREAD, 0);
  te32.dwSize := SizeOf(te32);
  if Thread32First (hSnap, te32) then
  repeat
    if te32.th32OwnerProcessID = PID then
    begin
      hThread := OpenThread (THREAD_SUSPEND_RESUME, False, te32.th32ThreadID);
      if Resume then ResumeThread (hThread)
      else SuspendThread (hThread);       
      CloseHandle (hThread);
    end;
  until not Thread32Next (hSnap, te32);
  CloseHandle (hSnap);
end;
кучу ошибок компилятор выдает..
и как найти pid?
logitech12 вне форума Ответить с цитированием
Старый 13.05.2011, 20:12   #4
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию

заморозка ладно... вроде разобрался, а как вытащить ИД процесса? если он не имеет окна
logitech12 вне форума Ответить с цитированием
Старый 13.05.2011, 21:03   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Уличить по тому, что есть у процесса. ИМХО вынимать PID по окну заведомо ложно и глупо(Я так никогда не делаю).
Человек_Борща вне форума Ответить с цитированием
Старый 13.05.2011, 21:50   #6
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Уличить по тому, что есть у процесса. ИМХО вынимать PID по окну заведомо ложно и глупо(Я так никогда не делаю).
а как Вы делаете? и можно ли вытащить просто по названию процесса?
типо "process.exe" ?
logitech12 вне форума Ответить с цитированием
Старый 13.05.2011, 22:02   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Если известно имя процесса, то да.
Посмотрите что есть у вашей программы.. и по нему определяйте. Есть окно - опр. по окну. Известен процесс - возможностей ещё больше....
Человек_Борща вне форума Ответить с цитированием
Старый 13.05.2011, 22:11   #8
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Если известно имя процесса, то да.
Посмотрите что есть у вашей программы.. и по нему определяйте. Есть окно - опр. по окну. Известен процесс - возможностей ещё больше....
а не покажете на конкретном примере? окна нет
известно из диспечера название и все. например process.exe
logitech12 вне форума Ответить с цитированием
Старый 13.05.2011, 22:29   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

А поиском по форуму?
Человек_Борща вне форума Ответить с цитированием
Старый 13.05.2011, 22:31   #10
logitech12
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
А поиском по форуму?
я бы не писал, если бы не искал.
logitech12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. остановка и возобновление прогр. кода Flap Помощь студентам 0 30.04.2011 16:54
Определение точки на графике. Угроза заморозка. a.stayer PHP 7 11.03.2011 12:10
Заморозка процесса RuVarez Общие вопросы Delphi 12 03.09.2010 11:31
Запуск процесса в потоке, завершение процесса в указааноое время, Дайте совет Человек_Борща Общие вопросы Delphi 3 29.08.2010 12:58
Заморозка проги wwww Общие вопросы Delphi 3 09.10.2007 09:36