Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Как запустить прогу и получить handle её главного окна?   Найти похожие ветки 

 
Deus ©   (2002-08-29 18:21) [0]

Казалось, что сложного?
делаем
CreateProcess(nil, "C:\WINDOWS\system32\calc.exe", nil, nil, false, 0, nil, nil, StartInfo, ProcInfo);
получаем в ProcInfo хандл процесса, перебираем окна, сравниваем GetWindowThreadProcessId.
Не находим....
GetGUIThreadInfo так же не помогает....


 
Song ©   (2002-08-30 09:13) [1]

GetActiveWindow()


 
Ученик ©   (2002-08-30 09:21) [2]

После CreateProcess, наверно надо, WaitForInputIdle


 
Deus ©   (2002-08-30 11:33) [3]

2Song:
"GetActiveWindow()"
А если оно неактивным запустилось?

2Ученик:
Гм...
А зачем?
Нужное окно я могу найти! Но GetWindowThreadProcessId возвращает иные значения, нежели чем возвращенные в ProcInfo.
Конкретный пример:
Я запускаю "c:\windows\calc.exe". CreateProcess в ProcInfo вернул значения:
ProcInfo.hProcess:=1932
ProcInfo.hThread:=1932
ProcInfo.dwProcessId:=1932
ProcInfo.dwThreadId:=1932

Перебираю окна, нахожу окно с ClassName="SciCalc".
Но GetWindowThreadProcessId=588!


 
Ученик ©   (2002-08-30 12:00) [4]

>Deus © (30.08.02 11:33)
Может быть не с тем сравниваешь, я проверил ThreadID у окна и запущенного процесса они совпадают.


 
Deus ©   (2002-08-30 12:33) [5]

2Ученик:
Если не сложно, приведи код.
И, кстати, что ты запускаешь?


 
Ученик ©   (2002-08-30 12:36) [6]

procedure TForm1.Button1Click(Sender: TObject);
var
pi : TProcessInformation;
si : TStartupInfo;
begin
FillChar(si, SizeOf(TStartupInfo), 0);
si.cb := SizeOf(TStartupInfo);
if CreateProcess(NIL, "calc.exe",
NIL, NIL, False, 0, NIL, NIL, si, pi) then try
WaitForSingleObject(pi.hProcess, INFINITE)
finally
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess)
end
end;


 
Deus ©   (2002-08-30 12:52) [7]

Опс. У меня оказывается всё правильно было.
Я просто в отладочное окно слал hProcess вместе dwProcess :)))
Сорри за беспокойство....



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-45364
Эльф
2002-10-06 12:02
2002.10.14
Менюшки в стиле OfficeXP


6-45485
Le!
2002-07-31 08:27
2002.10.14
Посоветуйте, кто знает!


1-45389
Sego
2002-10-02 22:04
2002.10.14
Разноцветные кнопки


1-45295
Starkom
2002-10-02 16:59
2002.10.14
объясните поведение секции finalization


1-45392
Brestmarket.com
2002-10-02 19:48
2002.10.14
Как добавить из своей программы в 1С нового клиента?