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

Вниз

Не люблю задавать вопросы, но все таки приходится.. Можно ли создать процесс Internet Explorer а с параметром   Найти похожие ветки 

 
savva ©   (2002-03-14 12:35) [0]

а то надо открыть html и дождаться закрытия... Перепробовал

с:\Program Files\Internet Explorer\IEXPLORE.EXE report.htm
с:\Program Files\Internet Explorer\IEXPLORE.EXE -report.htm
с:\Program Files\Internet Explorer\IEXPLORE.EXE /report.htm

не катит..


 
Fellomena   (2002-03-14 12:38) [1]

см. CreateProcess


 
savva ©   (2002-03-14 12:50) [2]

да блин в том то и дело, что при помощи CreteProcess нужна командная строка...

STARTUPINFO StartUpInfo;
PROCESS_INFORMATION ProcessInfo;
StartUpInfo.cb = sizeof( StartUpInfo );
StartUpInfo.lpReserved = NULL;
StartUpInfo.dwFlags = 0;
StartUpInfo.cbReserved2 = 0;
StartUpInfo.lpReserved2 = NULL;
StartUpInfo.lpDesktop = NULL;
StartUpInfo.lpTitle = NULL;
StartUpInfo.dwX = 0;
StartUpInfo.dwY = 0;
StartUpInfo.dwXSize = 0;
StartUpInfo.dwYSize = 0;
StartUpInfo.dwXCountChars = 0;
StartUpInfo.dwYCountChars = 0;
StartUpInfo.dwFillAttribute = 0;
StartUpInfo.dwFlags = 0;
StartUpInfo.wShowWindow = 0;
StartUpInfo.hStdInput = NULL;
StartUpInfo.hStdOutput = NULL;
StartUpInfo.hStdError = NULL;

if( !CreateProcess("с:\Program Files\Internet Explorer\IEXPLORE.EXE", ????????, NULL, NULL, FALSE, 0,
NULL, NULL, &StartUpInfo, &ProcessInfo ) ){
DWORD myError = GetLastError();
return myError;
}
CloseHandle( ProcessInfo.hThread );
DWORD dwTimePassed = 0;
while( TRUE ){
if( WAIT_TIMEOUT != WaitForMultipleObjects( 1,
&ProcessInfo.hProcess, FALSE, TIME_INCREMENT ) ){
break;
}
if( dwTimePassed > MAX_TIMEOUT_MS ){
TerminateProcess( ProcessInfo.hProcess, E_FAIL );
break;
}
dwTimePassed += TIME_INCREMENT;
}
CloseHandle( ProcessInfo.hProcess);

если ShellExecute достаточно имени файла, то тут я что то торможу...


 
Nebula ©   (2002-03-14 13:03) [3]

Пиши полный путь к файлу. iexplore.exe x:\path\filename.htm
Либо ShellExecute(Handle, "open", "x:\path\filename.htm", "", "", SW_SHOW);
тогда запуститься default browser


 
savva ©   (2002-03-14 13:13) [4]

> Nebula © (14.03.02 13:03)

> Либо ShellExecute(Handle, "open", "x:\path\filename.htm",
> "", "", SW_SHOW);

не годится.. не узнать когда закрыли...
а CreateProcess("F:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",tmp.c_str(), NULL, NULL, FALSE, 0,
NULL, NULL, &StartUpInfo, &ProcessInfo ) )
вызывает запуск IE, но не открывает ту страничку какую я хочу...


 
Song ©   (2002-03-14 13:18) [5]

Запускает и ждёт пока не закроется IE:



Procedure TForm5.CrProcess;
Var SeInfo:TShellExecuteInfo;
ExecuteFile:String;
ExitCode:DWord;
Begin
ExecuteFile:="Путь_к_IE";
FillChar(SEInfo,SizeOf(SEInfo),0);
With SEInfo Do
Begin
cbSize:=SizeOf(TShellExecuteInfo);
fmask:=SEE_MASK_NOCLOSEPROCESS;
Wnd:=Application.Handle;
lpFile:=PChar(ExecuteFile);
lpParameters:=PChar("строка_параметров");
lpDirectory:=nil;
nShow:=SW_SHOWNORMAL;
End;
IF ShellExecuteEx(@SEInfo) then
Repeat
Application.ProcessMessages;
GetExitCodeProcess(SEInfo.hProcess,ExitCode);
Until(ExitCode<>STILL_ACTIVE) or (Application.Terminated) else MessageDlg("Ошибка создания внешнего процесса.",mtError,[mbAbort],0);
End;



 
savva ©   (2002-03-14 14:45) [6]

>Song © (14.03.02 13:18)
Спасибо огромное!

На всякий случай (может кому понадобится) привожу код на С++ (компилировался в Билдере)
SHELLEXECUTEINFO SEInfo;
AnsiString ExecuteFile;
DWORD ExitCode;

ExecuteFile="c:\\Program Files\\Internet Explorer\\IEXPLORE.EXE";
ZeroMemory(&SEInfo, sizeof(SEInfo));
SEInfo.cbSize=sizeof(SEInfo);
SEInfo.fMask=SEE_MASK_NOCLOSEPROCESS;
SEInfo.hwnd=Application->Handle;
SEInfo.lpFile=ExecuteFile.c_str();
SEInfo.lpParameters="c:\\report.htm";
SEInfo.lpDirectory = NULL;
SEInfo.lpVerb = NULL;
SEInfo.hInstApp = NULL;
SEInfo.nShow=SW_SHOWNORMAL;

if( ShellExecuteEx(&SEInfo)){
do{
Application->ProcessMessages();
GetExitCodeProcess(SEInfo.hProcess,&ExitCode);
} while(ExitCode!=STILL_ACTIVE|| Application->Terminated);
} else MessageDlg("Ошибка создания внешнего процесса.",mtError,TMsgDlgButtons() << mbAbort,0);




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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
7-50139
rambler
2002-02-08 18:50
2002.05.16
Серийные номера HDD, мать ....


1-50016
Lagutin Anton
2002-05-01 04:48
2002.05.16
Помогите ShortCuts


14-50133
VictorT
2002-04-08 19:50
2002.05.16
Карпаты-Львов - Динамо-Киев


3-49892
helenka
2002-04-20 21:36
2002.05.16
не могу связать таблицы


14-50087
IronHawk
2002-03-21 17:05
2002.05.16
Читайте и плачте !