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; 
以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。