Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ShellExecute Как заставить IE зарузить новую страницу [D5, Win95/98]


Борис ©   (2002-11-21 16:52:00) 

Здравствуйте!

Прочитал про ShellExecute, но так и непонял, как у запущенного IE заставить открыть другой html фалик.

Запускаю IE так:
ZeroMemory(@st_startupinfo, sizeof(st_startupinfo));

st_startupinfo.cb := SizeOf(st_startupinfo);

if CreateProcess(Pchar(Eprocess.text), PChar(" "+Edit1.text), nil, nil, TRUE, Normal_Priority_Class, nil , nil, st_startupinfo, str_lpprocessinformation)= false then
showmessage("Процесс не создан!");

А пытаюсь заставить открыть другой файл так:
ShellExecute(str_lpprocessinformation.hProcess, "open", " c:\Letter.htm", nil, nil, SW_RESTORE);

в чем ошибка?


Борис   (2002-11-22 12:41:00) [1]

Да необязательно IE, нужно вообще запустить программу с параметром, а потом получить хэндл главного окна (это не обязательно должен быть IE).

Запустить то запустил, а вот как теперь получить хэндл главного окна (если можно с примером). Спасибо!


Opuhshii   (2002-11-22 12:34:00) [2]

есть другой подход для получения IE,..
IShellWindows


Борис   (2002-11-22 12:29:00) [3]

Ребята, как с помощью EnumThreadWindows получить хэндл главного окна процесса (если можно с куском кода).


Борис   (2002-11-22 08:08:00) [4]

int64
А как в данном случае получить хэндл окна и управлять им?

Сказано, запустить CreateProcess-ом, изменить с помощью ShellExecute.

спасибо!


int64   (2002-11-21 19:06:00) [5]


> в чем ошибка?

ShellExecute( str_lpprocessinformation.hProcess, "open", " c:\Letter.htm", nil, nil, SW_RESTORE);

Ошибка в уверенности, что через ShellExecute можно управлять запущенным процессом.
Вместо хендла окна, которое должно ловить мессейджбоксы запущенного приложения, ты ставишь хендл процесса, который и не окно совсем.

И какя такая необходимость запускать IE через CreateProcess или ShellExecute?


Наверх

Титульная страница Поиск, карта сайта Написать письмо