掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IEを起動したいのですが (ID:8455)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 第一引数にURLを指定する使い方が間違っていればおしえてください。 > 因みにShellExecute にURLを渡すとIEが起動します。 ShellExecute() と勘違いしておりました。申し訳ありません。 >IEをCreateProcess で起動して終了までプログラムを停止状態にしたいのですが、 これですが、FindExecutable() と CreateProcess() 、WaitForSingleObject() を 使ってうまくいってますか? わたしのところでは、メモ帳などでは成功しますが IE でもネットスケープでも、URL を開くことはできますが、終了待ちができません でした。ShellExecuteEx() を使ったコード例を示します。 uses ShellAPI; function ExecAndWaitQuit(FileOrURL:string):Boolean; var sei:TShellExecuteInfo; begin FillChar(sei,SizeOf(TShellExecuteInfo),#0); sei.cbSize := SizeOf(TShellExecuteInfo); sei.fMask := SEE_MASK_NOCLOSEPROCESS; sei.Wnd := Form1.Handle; sei.lpVerb := 'open'; sei.lpFile := PChar(FileOrURL); sei.lpDirectory := PChar(ExtractFilePath(Application.Exename)); sei.nShow := SW_SHOWNORMAL; result := ShellExecuteEx(@sei); if result then begin while WaitForSingleObject(sei.hProcess,100) = WAIT_TIMEOUT do Application.ProcessMessages; CloseHandle(sei.hProcess); end; end; procedure TForm1.Button1Click(Sender: TObject); begin if ExecAndWaitQuit('C:\040414.txt') then ShowMessage('Close Notepad'); // 終了待ちできた end; procedure TForm1.Button2Click(Sender: TObject); begin if ExecAndWaitQuit('http://www.google.co.jp/') then ShowMessage('Close IE'); // 終了待ちできなかった! end; 環境: Window98SE Delphi5Up1
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.