C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 80 を表示中)
■47466 / )  Re[2]: IEを既定としない状態でも開くようにする
□投稿者/ VB初心者 (3回)-(2010/03/03(Wed) 12:36:36)
No47450 (スクリプトプログラマ さん) に返信
> ■No47389 (VB.NET 初心者 さん) に返信
>>お世話になっております。
>>以前、IEが開いていたら、新しいタブで開くするにはどのようにすればよいか?
>>という質問をし、下記のようなコードを書きました。
>>
>>Dim ShellWindows As Object
>> ShellWindows = GetObject("new:9BA05972-F6A8-11CF-A442-00A0C90A8F39")
>> For Each IEWEB As Object In ShellWindows
>> IEWEB.Navigate(arg1, &H800)
>> Exit For
>>Next
>
> ShellWindowsコレクションの先頭の要素を使っているのが原因では?
> 先頭がエクスプローラの場合に既定のブラウザになるのでは?
> IEかどうか調べてIEからNavigateするように変えればよいかと。


自分なりに考えてみました。
コードは下記のとおりです。

Dim IE As Object
Dim ShellWindows As Object
  'カウンター初期値
Dim i As Integer = 0
ShellWindows = GetObject("new:9BA05972-F6A8-11CF-A442-00A0C90A8F39")
'ForeachでShellWindowsの要素を回す
For Each IE In ShellWindows
   Console.WriteLine(IE.FullName)
   '要素内に、iexplore.exeがあった場合、そのオブジェクとに対してナビゲート
If pProcessFlg = 0 And LCase(IE.FullName) Like "*\iexplore.exe" Then
Console.WriteLine("IEないです")
ReDim IE(i)
Console.WriteLine(i)
IE(i).Navigate2(arg1, 1)
  'gsubTimeWait(1000)
  'subTopMost()
i = +1
Exit For
Next
返信 編集キー/


管理者用

- Child Tree -