
VB.NET2003でフォームを表示していて
そこにあるボタンを押すとその下のウィンドウを
常に最前面に表示するようにしたいのでAPIを使って下のように
書いてみたのですががうまく動いてくれません。
恐れ入りますが訂正箇所などを教えていただければ幸いです。
Dim win1 As Integer
Dim win2 As Integer
Dim win3 As Integer
win1 = GetTopWindow(Me.Handle.ToInt32)
win2 = GetParent(win1)
win3 = GetNextWindow(win2, 2)
SetWindowPos(win3, -1, 100, 100, 100, 100, &H40)
宜しくお願い致します
No.2ベストアンサー
- 回答日時:
gomachans1さんのコードを実行すると何かエラーがないのに、うまく動きませんでした。
いちいち行デバッグしたら、正しいHandleを取得できないことに気づきました。
コードを修正するつもりですが、うまくできませんでした。
>>一つ前ウィンドウをTopMost=True
そのウィドウはVB.2003のMDIサブウィドウですか?
この回答への補足
わざわざ試して頂いてありがとうございます。
設定したいウィンドウはMDIウィンドウではなく
インターネットエクスプローラーや開いたフォルダや市販のソフトなど
なんでも設定したいです。
IntegerをIntPtrに変えたり色々試しているのですが、
最前面に真っ白な■が表示されて消えなくなってしまったりと
全く違うハンドルやID?でAPIを実行してしまっているようです。
お助けいただきたいです。
No.1
- 回答日時:
GetTopWindow GetParent GetNextWindow SetWindowPos
この四つのAPI関数をちゃんと宣言しますか?
この回答への補足
ご回答をありがとうございます。
APIの宣言ですが、下のように行っております。
間違いなどありましたらご指摘頂けると幸いです。
Declare Function SetWindowPos Lib "user32.dll" _
(ByVal hWnd As Integer, ByVal hWndInertAfter As Integer, _
ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, _
ByVal cy As Integer, ByVal uFlags As Integer) As Integer
Declare Function GetTopWindow Lib "user32.dll" _
(ByVal hWnd As Integer) As Integer
Private Declare Function GetNextWindow Lib "user32" Alias "GetWindow" _
(ByVal hwnd As Integer, ByVal wFlag As Integer) As Integer
Declare Function GetParent Lib "user32.dll" _
(ByVal hWnd As Integer) As Integer
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「アイテムは収集されました」...
-
勝手にウィンドウが開いて止ま...
-
エクセルで作った新しいウイン...
-
皆さん、おはようございます♪ ...
-
作成したウインドウのサイズを...
-
UNLHA.DLLの使い方
-
アクティブでないWindowにショ...
-
Exelを開く時に困っています
-
MFC ダイアログ上のID取得につ...
-
UWSCで特定のChromeのタブをア...
-
c言語win32apiで孫ウインドウか...
-
メッセージをスルー
-
ラジオボタンの初期指定
-
CreateWindowEx のウィンドウス...
-
エクセルで最上段の行だけ動か...
-
VB6.0 モジュールウィンドウの移動
-
検索の画面がでなくなってしま...
-
VBでタスクバーアイコンの数を...
-
指定したインアクティブウィン...
-
ExcelのBOOKが消えた!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
Vba LongPtrについて教えてくだ...
-
検索の画面がでなくなってしま...
-
勝手にウィンドウが開いて止ま...
-
ラジオボタンの初期指定
-
皆さん、おはようございます♪ ...
-
エクセルで1行目から3行目が消...
-
ExcelのBOOKが消えた!
-
「&HFFFF」「&H1A」とは?
-
[VBA] UserForm を Excel の W...
-
Alt+P,Alt+NをPostmessageで送...
-
作成したウインドウのサイズを...
-
最大化と最小化ボタン
-
Excelの上下を固定したい
-
MFC ダイアログ上のID取得につ...
-
ゲームでは結局どっちが良いの?
-
UWSCで特定のChromeのタブをア...
-
ExcelVBAでAPIを使って外部ウイ...
-
他のアプリケーションの終了処理
おすすめ情報