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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 20:30   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию Получение имени процесса по его ID

Здравствуйте, уважаемые!

Подскажите, как получить имя процесса (.exe файла), зная его pID?

Пытаюсь вот так, но ничего не получается:

Код:
                Wnd := GetWindow(Handle, gw_HWndFirst);
                while Wnd <> 0 do begin
                  GetWindowThreadProcessId(Wnd,tempID);
                  if wParam=tempID  then begin //в wParam передаётся pID процесса нужного
                    GetWindowText(Wnd, buff, sizeof(buff));
                    {Действия}
                  end;
                  Wnd := GetWindow(Wnd, gw_hWndNext);
                end;
PS: pID отлавливаю и отсылаю мессагой из библиотеки:
Код:
SendMessage(SWnd, WM_EVENT1, GetCurrentProcessID, LParam);
2Moderator: не надо перемещать тему в раздел API, это больше по Delphi вопрос, а не по API...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 07.11.2009 в 20:33.
Johnson вне форума Ответить с цитированием
Старый 07.11.2009, 21:25   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

тут полный путь к запущенному процессу, но никто не мешает оставить только имя
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.11.2009, 21:36   #3
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

дело не в том... тут я вобще просто заголовок окна получаю...
дело в том, что цсловие if wParam=tempID then не выполняется... и не могу понять почему
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 07.11.2009 в 21:48.
Johnson вне форума Ответить с цитированием
Старый 07.11.2009, 21:45   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
словие if wParam=tempID then не выполняется... и не могу понять почему
проверяйте совпало-ли ваше tempID с pid-ом диспетчера задач или другого tasklist, если совпало значит wparam не тот... отсюда не видно откуда вы его и как
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.11.2009, 21:48   #5
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
проверяйте совпало-ли ваше tempID с pid-ом диспетчера задач или другого tasklist, если совпало значит wparam не тот... отсюда не видно откуда вы его и как
совпало, условие выполняется...косяк в другом месте был... подскажите, как получить имя процесса (путь и имя .exe файла)
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 07.11.2009, 21:53   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

... пост up#2
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.11.2009, 21:55   #7
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

извиняюсь, мозг уже кипит, линк не заметил...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение адресса по имени процесса (Delphi) dyonysos Помощь студентам 5 14.09.2009 16:55
неубиваемый вирус! все антивирусы не находят его! кто знает как его убрать? Yury111 Безопасность, Шифрование 12 05.06.2009 11:19
Получение имени файла из скрипта dimfil Общие вопросы Delphi 2 20.01.2009 10:02
Класс по имени Sibedir Общие вопросы Delphi 2 04.12.2007 08:24
Получение имени окна Artem Общие вопросы Delphi 4 20.09.2007 16:38