в компоненте WinExec не хватает функции Handle на запущенную прогу.
или подскажите как компактно реализовать поиск Handle для
последнего запущенного приложения если таких запущенных приложений много...
Этот топик читают: Гость
Ответов: 387
Рейтинг: 34
|
|||
карма: 0 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Karl, HAndle
|
|||
карма: 10 |
| ||
Голосовали: | Karl |
Ответов: 387
Рейтинг: 34
|
|||
Assasin спасибо, я счастлив тому, что ты понял то о чем я написал, а заодно и за вразумительный ответ
|
|||
карма: 0 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Вообще-то WinExec работает с файлами, а не с Handl-ами.
Я так понимаю, что необходимо передать некие параметры последнему загруженному приложению Но WinExec передает параметры только при запуске приложения ------------ Дoбавленo в 14.22: Karl писал(а): или подскажите как компактно реализовать поиск Handle для
последнего запущенного приложения если таких запущенных приложений много... ИМХО. Если только мониторить процессы и смотреть что подгрузилось |
|||
карма: 22 |
|
Ответов: 387
Рейтинг: 34
|
|||
мне нужно в запущенном с помощью WinExec приложении нажать клавиши компонентом KeyEvent,
а ему нужен Handle на приложение, я предполагал что WinExec может знать(узнать) этот Handle. ------------ Дoбавленo в 14.40: nesco писал(а): ИМХО. Если только мониторить процессы и смотреть что подгрузилосьтак и делаю слежу за ID процессов... но думал можно сделать менее громоздко Karl писал(а): подскажите как компактно реализовать поиск Handle |
|||
карма: 0 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Karl писал(а): но думал можно сделать менее громоздкоМожно попробовать найти Handle по имени главного окна. Вот тебе пример от Ленонида, который перехватывает блокнот. Попробуй поэкспериментировать code_15379.txt |
|||
карма: 22 |
| ||
файлы: 1 | code_15379.txt [1.7KB] [423] |
Ответов: 387
Рейтинг: 34
|
|||
nesco, спасибо.
сложность в том что окна имеют одно название. мой алгоритм выглядит так: 1. с помощью перечисления окон, создаю список хендлов окон с названием Х 2. запускаю приложение имеющие название окна Х 3. с помощью перечисления окон, выявляю хендл отсутствующий в списке 1, и этот хенд есть искомый. и все работает. но куда проще: запускаю приложение, хендл запущенного процесса свисает с компонента WinExec и с права компонента WinExec точка, событие происходит после завершения работы запущенного приложения. но если реализовать подобное неудобно то вопрос снят. |
|||
карма: 0 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Karl писал(а): но если реализовать подобное неудобно то вопрос снятВообще-то -- проблематично |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Karl писал(а): но если реализовать подобное неудобно то вопрос снят.WinExec запускает приложение, а не окно и как следствие получает ProcessID. Handle - это идентификатор окна, которых у процесса может быть несколько. Как следствие однозначного сопоставления ID процесса Handle формы не существует. |
|||
карма: 27 |
|
9