このコード (MSDN から) を使用して、既定のブラウザーを開きました。
Private Declare Function ShellExecute _
Lib "shell32.dll" _
Alias "ShellExecuteA"( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long
Private Sub Command1_Click()
Dim r As Long
r = ShellExecute(0, "open", "http://www.microsoft.com", 0, 0, 1)
End Sub
インスタンスがすでに開いている場合にのみ、IE と chrome で正常に動作し、タブを広告して、要求されたページを返します。
インスタンスがまだ開いていない場合は、新しいインスタンスが作成されますが、ページは読み込まれず、最終的にタイムアウトになります。
どちらのシナリオでも、Firefox だけが正常に動作するようです。
次に、以下のシェル呼び出しのいずれかを使用して、関連するアプリケーションをビューで検索するために一時 htm ファイルを作成するテクニック (詳細はこちら) を試しました。
Shell "C:\Program Files\Internet Explorer\iexplore.exe https://www.google.co.uk/", vbNormalFocus
Shell "C:\Program Files\Mozilla Firefox\firefox.exe https://www.google.co.uk/", vbNormalFocus
Shell "C:\Users\Kjack\AppData\Local\Google\Chrome\Application\chrome.exe https://www.google.co.uk/", vbNormalFocus
今回は FF と IE の両方が機能しましたが、chrome にはまだ同じ問題がありました。
誰もこれに対する解決策を知っていますか?
編集して、OS とブラウザのバージョンに関する詳細を追加します。
OS:Windows Vista Home Basic 32ビット
ファイアフォックス 20.0.1
IE 9.0.8112.16421
Opera 12.15 ビルド 1748
クロム 26.0.1410.64 m