Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
   

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ID Процесса 
:(
    Опции темы
Guest
Дата 28.12.2004, 15:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как узнать ID процесса. В поиск или в DRKB посылать не надо, там есть только, как получит список всех процессов и их ID'ы. Мне нужно для конкретного процесса.
  Вверх
Guest
Дата 28.12.2004, 17:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

конкретного процесса

а что ты знаешь о нем?
  Вверх
Rennigth
Дата 28.12.2004, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



забыл войти...
Цитата

конкретного процесса

а что ты знаешь о нем?


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Sergey89
Дата 28.12.2004, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



Знаю его название
--------------------
mlib.com.ru
PM MAIL   Вверх
Rennigth
Дата 28.12.2004, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Цитата

  там есть только, как получит список всех процессов и их ID'ы.

ну а чем тебе не нравиться способ по выборке из списка нужного тебе процесса?
Добавлено @ 17:50
по идеи даже если бы и была стандартная функция получения ID процесса по имени
она бы все равно бы на 100% не работала потому что одновремено может быть запущено несколько процессов с одинаковым именем...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Sergey89
Дата 28.12.2004, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



Цитата(Rennigth @ 28.12.2004, 17:48)
по идеи даже если бы и была стандартная функция получения ID процесса по имени
она бы все равно бы на 100% не работала потому что одновремено может быть запущено несколько процессов с одинаковым именем...

Ну а если не внедрятся в тонкости. Мне не нужно выбрать процесс мне нужен один конкретный!
--------------------
mlib.com.ru
PM MAIL   Вверх
Rennigth
Дата 28.12.2004, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Цитата

Мне не нужно выбрать процесс мне нужен один конкретный!

ну покрайней мере я другого способа незнаю чем так:

вернет тебе ID процесса по его имени (хоть и выбором)

Код


Uses  tlhelp32;
...

function GetIDProcess(AName : PChar ) : Cardinal; StdCall;
var
lSnapHandle, lProcHandle: THandle;
ProcStruct : PROCESSENTRY32;
lProcessPath : Pchar;
PID : Cardinal;
begin
Result := 0;
lSnapHandle := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if lSnapHandle = 0 then
  exit;
ProcStruct.dwSize := sizeof( PROCESSENTRY32 );
if Process32First(lSnapHandle, ProcStruct) then
begin
  try
    repeat
      lProcessPath := ProcStruct.szExeFile;
      if uppercase(lProcessPath) = uppercase(AName) then
      begin
        PID := ProcStruct.th32ProcessID;
        Result := PID;
        Break;
      end;
    until not Process32Next(lSnapHandle, ProcStruct);
  finally
    CloseHandle(lSnapHandle);
  end;
end;
end;




--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Sergey89
Дата 28.12.2004, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



БИГ Сэнкс ;)
--------------------
mlib.com.ru
PM MAIL   Вверх
p0s0l
Дата 28.12.2004, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 14
Всего: 112



Перенесенно из раздела Delphi


--------------------
С уважением, г-н Посол.
PM   Вверх
Stadler
Дата 29.12.2004, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 28.12.2004

Репутация: нет
Всего: нет



Rennigth
Странно, а у меня не получилось...
[Error] Unit1.pas(34): Undeclared identifier: 'PROCESSENTRY32'
[Error] Unit1.pas(39): Undeclared identifier: 'CreateToolhelp32Snapshot'
[Error] Unit1.pas(39): Undeclared identifier: 'TH32CS_SNAPALL'
[Error] Unit1.pas(42): Missing operator or semicolon
[Error] Unit1.pas(43): Undeclared identifier: 'Process32First'
Добавлено @ 13:45
Rennigth
Пардон... кое-что забыл smile
PM MAIL   Вверх
Sergey89
Дата 29.12.2004, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



В uses добавь tlhelp32
--------------------
mlib.com.ru
PM MAIL   Вверх
dm9
Дата 30.12.2004, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



В дополнение:

Код
procedure TForm1.Button2Click(Sender: TObject);
var pProcID: ^DWORD;
begin
 GetMem(pProcID, SizeOf(DWORD));
 GetWindowThreadProcessId(FindWindow(nil, PChar(Edit2.Text)), pProcID);
 Edit1.Text := IntToStr (pProcID^);
end;


Вернёт в Edit1.Text Id процесса, у которого есть окно с названием Edit2.Text
PM MAIL ICQ   Вверх
   
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.