![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateProcess проблема в получении handle [D7, Win2k]
Сергей_И © (2004-04-19 10:49:00)var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
выполняю
CreateProcessA(nil,pChar(Edit1.text),nil,nil,false,CREATE_DEFAULT_ERROR_MODE or NORMAL_PRIORITY_CLASS,nil,nil,StartInfo,ProcInfo);
в pChar(Edit1.text) - запускаемое приложение
В ProcInfo по идее должны записаться хендлы создаваемого процесса и глобальный идентификатор процесса (ID), и тоже для его первого потока. Так вот ID создаваемого процесса там есть, а вместо хендла процеса другой хендл (панели задач внизу экрана) - почему? - приходится хендл нужного процесса искать с пом. FindWindow
nikkie (2004-04-19 11:36:00) [1]ну и здорово. про CreateProcess можешь забыть.
собственно не факт, что и TWebBrowser нужен...
Сергей_И (2004-04-19 11:25:00) [2]Да я тут спрашивал уже - нужно программно открывать сайты (несколько) и заполнять интернет формы. Посоветовали
http://www.delphikingdom.ru/mastering/tweb.htmсижу читаю
Digitman (2004-04-19 11:13:00) [3]есть.
EnumWindows, например
оно тебе для каких целей понадобилось, окно-то ?
Anatoly Podgoretsky (2004-04-19 11:12:00) [4]Нет поскольку у процесса может быть множество окон, начиная с 0
Сергей_И (2004-04-19 11:09:00) [5]есть ли тогда какой нибудь способ узнать handle окна (по хэндлу процесса) не используя FindWindow?
Digitman (2004-04-19 11:02:00) [6]
> приходится хендл нужного процесса искать с пом. FindWindow
хэндл процесса и хэндл окна - две разные разницы
FindWindow ищет хэндл окна, а не хэндл процесса
typedef struct _PROCESS_INFORMATION { // pi
HANDLE hProcess; //а здесь - именно хэндл процесса !! только что созданного !! а не хэндл окна !!
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;
nikkie (2004-04-19 11:00:00) [7]>почему?
потому что путаешь хендлы окон и хендлы процессов.