Форум: "WinAPI";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизНе люблю задавать вопросы, но все таки приходится.. Можно ли создать процесс 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,
вызывает запуск IE, но не открывает ту страничку какую я хочу...
NULL, NULL, &StartUpInfo, &ProcessInfo ) )
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c