複数のURLをタブブラウザなどでいっぺんに開きたい


Fusa  2005-07-26 22:55:29  No: 16604

URLを同時に複数開く為に次のようなコードを書いていますが
しっかりと動いてくれません。

URLAddressListはTStringList。

コードはこのようにしています。
    for i := 0 to URLAddressList.Count-1 do
    begin
      ShellExecute(0, 'open', PChar(URLAddressList.Strings[i]), nil, nil, SW_SHOW)
    end;

IEが関連付いている場合や
Sleipnirに関連付いていてがSleipnirが既に起動している場合は
リスト中の全てのURLが開くのですが

Sleipnirが起動していない場合には、
はじめのURL呼び出しによってSleipnirが起動し、
その起動中に他のURLが引数として渡るので
無視されてしまい、一つのURLのページしか開かずに
正しく複数のURLが開かない状態になってしまいます。

OperaやFireFox、Lunascapeや他のタブブラウザの挙動を調べきったわけではなく
タブブラウザの作りがしっかりしていれば
このようにはならないとは思いますが

なるべく多くのブラウザで
複数のURLを一気に開く為のコードを実装したいのですが
どのように工夫するとよいでしょうか。
※ShellExecuteの間にウェイトを多く入れるべき?

何かよいコツを
ご存じでしたら教えてください。
よろしくお願いします。


Fusa  2005-07-26 23:01:56  No: 16605

>IEが関連付いている場合や
>Sleipnirに関連付いていてがSleipnirが既に起動している場合は
>リスト中の全てのURLが開くのですが

嘘でした、IEの時でも正しく動作しませんね。

>なるべく多くのブラウザで
>複数のURLを一気に開く為のコードを実装したいのですが

というのは同じです。
よろしくお願いします。


anone  2005-07-26 23:19:12  No: 16606

WaitForInputIdle を使って起動完了を確認しながら次々と


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加