![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Код:
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
|
||||
|
||||
|
Окно невидимое.
|
|
#3
|
|||
|
|||
|
А как-то заменить можно?
|
|
#4
|
||||
|
||||
|
FindWindow находит все видимые и не видимые окна - значит окна такого на момент поиска ещё не существует. Попробуйте выполнить задержку (напр. Sleep(500)) после вызова ShellExecute
|
|
#5
|
|||
|
|||
|
1. А не проще анализировать возврат ShellExecute?
2. Есть еще CreateProcess, по полученному хэндлу процесса можно получить дескриптор окна... 3. Ну или, как советовали, подождать. |