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

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

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

Re[5]: ウィンドウを最前面にするには?


(過去ログ 43 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■22545 / inTopicNo.1)  ウィンドウを最前面にするには?
  
□投稿者/ らんぺるーる (13回)-(2008/07/25(Fri) 15:22:07)

分類:[VB.NET/VB2005] 

「SHDocVw」ライブラリを使用して作成または取得した
「IntegernetExplorer」を表示した後に、
ウィンドウの最前面に持ってくる方法を教えて頂けないでしょうか。
タスクバーに最小化されている「InternetExplorer」を取得する場合もありますので、
そちらにも対応できることが前提となります。

参考までに今作成しているソースを添付します。

Dim SWs As New SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer
Dim helpIE As SHDocVw.InternetExplorer
Dim newflg As Boolean = True
Dim Doc As Object
Dim documentName = "既に開いているか探すhtmlファイル名"
-既にウィンドウが開かれているか検索する-
For Each IE In SWs
  Doc = IE.Document
If TypeOf Doc Is mshtml.HTMLDocument Then
If Instr(Doc.url, documentName) <> 0 Then
helpIE = IE
newflg = False
Exit For
End If
End If
Next
 
'既に開かれていない場合は新規で開く
If newflg = True Then
-新規に開く場合-
Dim uri As String = "開くhtmlファイルへのパス"
helpIE = New SHDocVw.InternetExplorer
helpIE.Navigate(uri)
'ページ読み込みまで待機
Do While helpIE.Busy = True
System.Windows.Forms.Application.DoEvents()
Loop
helpIE.Visible = True 
End If

'ここで「helpIE」に格納されている「InternetExplorer」を最前面に持ってくる操作をしたい!

引用返信 編集キー/
■22554 / inTopicNo.2)  Re[1]: ウィンドウを最前面にするには?
□投稿者/ まどか (564回)-(2008/07/25(Fri) 15:53:41)
HWNDプロパティがあるようなので、APIを使う方法があります。

ShowWindow
SetForeGroundWindow
IsIconic

このあたりを調べてください。

引用返信 編集キー/
■23120 / inTopicNo.3)  Re[2]: ウィンドウを最前面にするには?
□投稿者/ らんぺるーる (21回)-(2008/08/08(Fri) 17:29:59)
No22554 (まどか さん) に返信
> HWNDプロパティがあるようなので、APIを使う方法があります。
>
> ShowWindow
> SetForeGroundWindow
> IsIconic
>
> このあたりを調べてください。
>

以下のコードを前述の「ここで「helpIE」に格納されている「InternetExplorer」を最前面に持ってくる操作をしたい!」
の箇所に追加したら、最前面に持ってくることができました。
ただし、WindowsVistaにおいては、最前面に表示されず、タスクバーが点滅するだけです。
WindowsVistaにおける対処法等ご存知の方がいましたら、教えていただけないでしょうか。

' ShowWindowAsync関数のパラメータに渡す定義値
Const SW_RESTORE As Integer = 9 ' 画面を元の大きさに戻す

ShowWindow(helpIE.HWND, SW_RESTORE)


 Declare Function ShowWindow Lib "user32.dll" _
(ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer
引用返信 編集キー/
■23127 / inTopicNo.4)  Re[3]: ウィンドウを最前面にするには?
□投稿者/ やじゅ (524回)-(2008/08/08(Fri) 18:13:55)
やじゅ さんの Web サイト
No23120 (らんぺるーる さん) に返信
> ただし、WindowsVistaにおいては、最前面に表示されず、タスクバーが点滅するだけです。
> WindowsVistaにおける対処法等ご存知の方がいましたら、教えていただけないでしょうか。
>

下記の方法ではどうでしょうか?
Vista で Excel を最前面に表示する
http://maglog.jp/moosoft/Article205140.html
引用返信 編集キー/
■23134 / inTopicNo.5)  Re[4]: ウィンドウを最前面にするには?
□投稿者/ らんぺるーる (22回)-(2008/08/08(Fri) 21:26:05)
No23127 (やじゅ さん) に返信
> ■No23120 (らんぺるーる さん) に返信
>>ただし、WindowsVistaにおいては、最前面に表示されず、タスクバーが点滅するだけです。
>>WindowsVistaにおける対処法等ご存知の方がいましたら、教えていただけないでしょうか。
>>
>
> 下記の方法ではどうでしょうか?
> Vista で Excel を最前面に表示する
> http://maglog.jp/moosoft/Article205140.html

できました。「SetWindowPos」メソッドを使用すれば、
Vistaでも最前面に配置することができました。

ただし、上記メソッドだけでは、既にタスクバーに最小化されている
ウィンドウに対しては、最前面にもってこれなかったので、
「ShowWindow」メソッドを併用することで対応いたしました。

解決済みとさせていただきます。
まどか様、やじゅ様ご回答有難う御座いました。

また、質問をさせていただいた際には、よろしくお願いいたします。


引用返信 編集キー/
■23135 / inTopicNo.6)  Re[5]: ウィンドウを最前面にするには?
□投稿者/ らんぺるーる (23回)-(2008/08/08(Fri) 21:26:45)
No23134 (らんぺるーる さん) に返信
> ■No23127 (やじゅ さん) に返信
>>■No23120 (らんぺるーる さん) に返信
> >>ただし、WindowsVistaにおいては、最前面に表示されず、タスクバーが点滅するだけです。
> >>WindowsVistaにおける対処法等ご存知の方がいましたら、教えていただけないでしょうか。
> >>
>>
>>下記の方法ではどうでしょうか?
>>Vista で Excel を最前面に表示する
>>http://maglog.jp/moosoft/Article205140.html
>
> できました。「SetWindowPos」メソッドを使用すれば、
> Vistaでも最前面に配置することができました。
>
> ただし、上記メソッドだけでは、既にタスクバーに最小化されている
> ウィンドウに対しては、最前面にもってこれなかったので、
> 「ShowWindow」メソッドを併用することで対応いたしました。
>
> 解決済みとさせていただきます。
> まどか様、やじゅ様ご回答有難う御座いました。
>
> また、質問をさせていただいた際には、よろしくお願いいたします。
>

解決済みにチェックし忘れました…。。。毎度すみません。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -