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で質問しましょう!
似たような質問が見つかりました
- Ruby vscode 文字化け 1 2022/05/21 19:17
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- モニター・ディスプレイ Win11マルチディスプレイでの異なる仮想デスクトップの表示 3 2023/02/01 10:02
- Mac OS Parallels Desktop for Mac 2 2023/06/22 04:32
- ノートパソコン 情報を教えて下さい!! 最新の超小型サイズのキーボード端末(winかAndroid)知ってる方教えて 4 2022/06/26 07:35
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
- Excel(エクセル) クリップボードの件 2 2022/11/05 12:11
- CAD・DTP vectorworks、winとmacでデータを共有する場合 1 2023/02/20 16:41
- Mac OS mac使いの無線事情 3 2023/05/26 02:30
- FX・外国為替取引 よくTwitterで、個人の人が売買シグナル配信やっていたりします。 LINEグループに入るとXMの 1 2022/06/01 10:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
検索の画面がでなくなってしま...
-
勝手にウィンドウが開いて止ま...
-
VBA .Value=.Value ?
-
Excelの上下を固定したい
-
クリスタルレポートからPDFを作...
-
他のアプリケーションの終了処理
-
ExcelのBOOKが消えた!
-
Alt+P,Alt+NをPostmessageで送...
-
親ウインドウにあるOKボタンを...
-
ボタンのハンドルウィンド取得...
-
エクセルで複数のウィンドウ枠...
-
ゲームでは結局どっちが良いの?
-
java sevlet でウィンドウ表示
-
他アプリの操作(メニューバー)
-
CTなどでいう,ウィンドウレベ...
-
作成したウインドウのサイズを...
-
常に非アクティブなウィンドウ...
-
Msgboxの変数の表示につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
勝手にウィンドウが開いて止ま...
-
検索の画面がでなくなってしま...
-
ゲームでは結局どっちが良いの?
-
VBA .Value=.Value ?
-
Excelの上下を固定したい
-
[VBA] UserForm を Excel の W...
-
EnumChildWindowsの使い方(VBA)
-
Vba LongPtrについて教えてくだ...
-
ExcelのBOOKが消えた!
-
他のアプリケーションの終了処理
-
ラジオボタンの初期指定
-
ExcelVBAでAPIを使って外部ウイ...
-
作成したウインドウのサイズを...
-
UWSCで特定のChromeのタブをア...
-
隠れたウィンドウの画面をキャ...
-
「&HFFFF」「&H1A」とは?
-
名前を付けて保存のウィンドウ...
-
最大化と最小化ボタン
おすすめ情報