|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ShellExecute и FindWindow
Код:
var h:hwnd; s:Pansichar; begin ShellExecute(Form1.Handle, 'open', PChar(ExtractFilePath(application.ExeName)+'serv.exe'), nil, nil, SW_HIDE); h:=FindWindow(0,'Agent'); h:=findWindowex(h,0,'TPanel','pnInetId'); h:=findWindowex(h,0,'TEdit',nil); s:=GetMemory(100); Sendmessage(h,WM_GETTEXT,20,integer(s)); Showmessage(s); FreeMemory(s); end; |
#2
|
||||
|
||||
Окно невидимое.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
А как-то заменить можно?
|
#4
|
||||
|
||||
FindWindow находит все видимые и не видимые окна - значит окна такого на момент поиска ещё не существует. Попробуйте выполнить задержку (напр. Sleep(500)) после вызова ShellExecute
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
1. А не проще анализировать возврат ShellExecute?
2. Есть еще CreateProcess, по полученному хэндлу процесса можно получить дескриптор окна... 3. Ну или, как советовали, подождать. |