記事カテゴリ

ユーザー機能


 2024年4月27日(土) 17:56 JST

[Delphi] DDE でブラウザをクローズする

  • 投稿者:
  • 表示回数
    3,955

DDEを使ってブラウザにクローズ命令を送ります。
(このプロシージャを作成するフォームには「DDEMan」をusesに追加する必要があります。)
SendMessageでWM_CLOSEを送っても終了します。

procedure Tform1.CloseBrowser(BrowserName: String);
var
  DDE:TDDEClientConv;
begin
  DDE := TDDEClientConv.Create(Self);
  try
    // コメントブロック内は最後のブラウザのインスタンスのみ終了させる場合に
    // 使用します。この場合、下側のwhile側をコメントアウトしてください。
{
    if DDE.SetLink(BrowserName,'WWW_Exit') then
    begin
      if DDE.PokeData('anything' ,'anything') then
      begin
        ShowMessage('Browser closed');  // この行は特に必要ありません
      end;
    end;
}
    while DDE.SetLink(BrowserName,'WWW_Exit') do
    begin
      if DDE.PokeData('anything' ,'anything') then
      begin
        ShowMessage('Browser was closed'); // この行は特に必要ありません
      end;
    end;
  finally
    DDE.Free;
  end;
end;

この関数をコールするには、プラウダがインターネットエクスプローラの場合には「IExplore」を Netscape Communicator 3.x の場合には「Netscape」、4.0 以降の場合には「NSShell」を引数に与えてやる必要があります。

procedure TForm1.Button1Click(Sender: TObject);
begin
  CloseBrowser('IExplore');
end;

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0019

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。