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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2010, 19:52   #1
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
Вопрос Отследить запуск сторонних программ...

Доброе время суток!

У меня возник вопрос, на который я пока не нашел однозначного ответа.
Суть вопроса такова: Мне нужно отслеживать все запускаемые юзером программы. Вот к примеру запускает юзер Notepad.exe , а моя программа сразу как-нить реагирует на это. Например она замораживает запущенный процесс или например показывает простой showmessage в котором будет имя запущенной проги...
prizrak1390 вне форума Ответить с цитированием
Старый 15.03.2010, 20:03   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Вы можете использовать список процессов, и изменить ситуацию, то это процесс который появился, и делать все, что вы хотите с ним, но это простая идея, и простой код

http://www.delphisources.ru/pages/fa...e_process.html
http://www.delphisources.ru/pages/fa...sses_list.html
http://www.delphisources.ru/pages/fa...processes.html

Если вы поняли мою идею, эти ссылки помогут
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');

Последний раз редактировалось bitSoft; 15.03.2010 в 20:27.
bitSoft вне форума Ответить с цитированием
Старый 15.03.2010, 21:04   #3
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

bitSoft, спасибо, но мне интересно есть ли еще способы кроме, как отслеживать запущенные процессы
prizrak1390 вне форума Ответить с цитированием
Старый 15.03.2010, 22:03   #4
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от prizrak1390 Посмотреть сообщение
bitSoft, спасибо, но мне интересно есть ли еще способы кроме, как отслеживать запущенные процессы
другие, если я не ошибаюсь, они из API

// http://www.gtdelphicomponents.gr/?p=202
// http://www.delphisources.ru/pages/so...k-manager.html

Я уверен, что вам не нужно больше ничего, Кроме того, что я показал
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');

Последний раз редактировалось bitSoft; 15.03.2010 в 22:09.
bitSoft вне форума Ответить с цитированием
Старый 16.03.2010, 00:24   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вообщем небольшим поиском по форуму вот чего нарыл:
Код:
// Убивает процесс по имени
function KillTask(ExeFileName:string):integer;
const
  PROCESS_TERMINATE=$0001;
var
  Co:BOOL;
  FS:THandle;
  FP:TProcessEntry32;
begin
  result:=0;
  FS:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  FP.dwSize:=Sizeof(FP);
  Co:=Process32First(FS,FP);
  while integer(Co) <> 0 do
    begin
      if ((UpperCase(ExtractFileName(FP.szExeFile))=UpperCase(ExeFileName)) or
         (UpperCase(FP.szExeFile)=UpperCase(ExeFileName))) then
      Result:=Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),
      FP.th32ProcessID),0));
      Co:=Process32Next(FS,FP);
    end;
  CloseHandle(FS);
end;

// Получаем имена процессов
procedure MyTask;
var
  hSnapShot: THandle;
  ProcInfo: TProcessEntry32;
  Str : TStringList;
begin
  Str := TStringList.Create;
  hSnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if (hSnapShot <> THandle(-1)) then
  begin
    ProcInfo.dwSize := SizeOf(ProcInfo);
    if (Process32First(hSnapshot, ProcInfo)) then
    begin
      Str.Append(ProcInfo.szExeFile);
      while (Process32Next(hSnapShot, ProcInfo)) do
        Str.Append(ProcInfo.szExeFile);
    end;
    CloseHandle(hSnapShot);
  end;
end;
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 16.03.2010, 00:55   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

http://www.wasm.ru/article.php?article=apihook_1

Читаем классику, медитируем
пыщь
JTG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отследить запуск системы artemavd Общие вопросы Delphi 3 11.11.2009 17:48
Отследить запуск программы. Mixasik Общие вопросы Delphi 3 01.06.2009 09:12
запуск программ SLIMMUS Общие вопросы Delphi 2 01.01.2009 17:44
ListBox, запуск программ artemavd Общие вопросы Delphi 6 07.11.2008 18:29
Запуск программ sinoptik Общие вопросы Delphi 6 04.05.2007 13:54