掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ShellExecute 関数で IE を非表示にするには? (ID:45436)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
同じ環境がないのと、こちらでは再現しなかったので、参考程度で。 …と、その前に。「IEを非表示で起動」というのは、タスクバーにも表示されない状態ですよね。 なぜそのような動作を必要としているのですか?気になります。 回答にはなってませんが、違うアプローチを。 COMのIEオブジェクトを使って、ゆるーくコントロールするのはどうでしょうか。 動かなかったらゴメンナサイ。 uses ComObj; function WaitIEBusy(IE: OleVariant; Wait: Cardinal): Boolean; var ST: DWORD; begin Result:=False; ST:=GetTickCount(); repeat Sleep(100); if not IE.Busy then Exit; until GetTickCount()-ST>Wait*1000; Result:=True; end; procedure QuitIE(var IE: OleVariant); begin if VarIsEmpty(IE) then Exit; try IE.Quit; except on EOleSysError do; // 多分ユーザーによってIEが閉じられてると判断してスルー end; IE:=Unassigned; end; var MyIE: OleVariant; procedure TForm1.Button1Click(Sender: TObject); begin if not VarIsEmpty(MyIE) then Exit; MyIE:=CreateOleObject('InternetExplorer.Application'); // MyIE.Width:=600; // MyIE.Height:=400; // MyIE.Toolbar:=False; // MyIE.StatusBar:=False; MyIE.Visible:=True; // Falseで非表示 MyIE.Navigate('http://www.google.co.jp/'); if WaitIEBusy(MyIE, 10) then QuitIE(MyIE); // ナビゲート待ち、10秒でタイムアウト終了 end; procedure TForm1.Button2Click(Sender: TObject); begin QuitIE(MyIE); end; procedure TForm1.FormDestroy(Sender: TObject); begin QuitIE(MyIE); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.