К списку форумов К списку вопросов
Как имея handle окна поиметь имя процесса его запустившего?
Пшелты
23.04.2004 - 13:32
САБЖ
UE
1 - 23.04.2004 - 14:10
GetWindowThreadProcessId и Tool Help Functions (afair, под NT 3.51/4.0 не будет работать).
блин
2 - 26.04.2004 - 10:04
не работает.
нужно в 2000 мастдае.
есть ли еще какие нимбудь предложения?
брешу
3 - 26.04.2004 - 10:22
все арбайтен. только вот косяк, есть не handle окна, а handle editbox на этом окне. и так задача усложняется.
Как имея handle одного из элемента окна поиметь имя процесса запустившего это окно?
UE
4 - 26.04.2004 - 11:14
2брешу, ты хочешь сказать, GetWindowThreadProcessId не работает, когда ему передаешь handle editbox'а?
мля
5 - 26.04.2004 - 14:02
то ли лыжи не едут, то ли я еба...
итак обясняю полтерГейц:
система - 2000 мастдай.
запускаю я значит свою прогу, смотрю в диспетчер задач : PID 1204
результат же
showmessage(inttostr(GetWindowThreadProcessId(application.Handle)));
показывает PID равным 448.
___________________________________________________________________
далее
если в программе поменять строку на
showmessage(inttostr(GetWindowThreadProcessId(form1.Handle)));
то она покажет PID 1204, но #б твою заногу, в диспетчере задачь PID меняется на 448.
кто может обяснить сей маразм?
UE
6 - 26.04.2004 - 15:12
Я плохо Дельфи знаю, а application.Handle - это дескриптор какого именно окошка?
Если все-таки, это дескриптор некого окна, то возможно, что application.Handle и form1.Handle - окна созданные в разных потоках. Я бы порекомендовал с помощью spy++ поглядеть эти окна, чтобы проверить предположения.
А что значит, "в диспетчере задачь PID меняется на 448"? У тебя задача меняет свой pid?... это действительно крайне странно...
короче
7 - 26.04.2004 - 15:50
обьясняю ситуевину:
есть какая то хитрая прога, которая выдает окно без надписи, а с парой edit'ов. пытаюсь вычислить эту прогу. вычислил handle edit'ов с помощью password checker. вот теперь по ним пытаюсь определить имя процесса, который выводит данное окно.
UE
8 - 26.04.2004 - 15:54
Так воспользуйся spy'ем (например, в Visual Studio эта тулза входит), там это легко можно сделать ;)
какой
9 - 26.04.2004 - 16:05
еще шпион можешь посоветовать? хотелось бы что б кликнул на окошко, а он тебе б имя процесса вывел, ну и что не устанавливать вижл студию, а че нить попроще.
UE
10 - 26.04.2004 - 17:04
других, к сожалению, не знаю :(
Defflorator
11 - 26.04.2004 - 21:28
application и form имеют разные хэндлы.
первое - это что-то вроде невидимой формы, т.е. окна, к которому уже "прикручиваются" остальные окна. и если даже вы смените в свойствах проекта "главную" форму, то от этого она не станет главнее объекта application.
 борланд намутила с созданием приложений.
SBoyko
12 - 27.04.2004 - 09:23
[9] - в делфях есть шпиен winsight32

К списку вопросов на форуме Программирование

>>