ウィンドウの最背面表示について
- 題名: ウィンドウの最背面表示について
- 著者: tos
- 日時: 2003/10/15 10:28:35
- ID: 938
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ウィンドウの最背面表示について
- 著者: よねKEN
- 日時: 2003/10/15 11:23:30
- ID: 939
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ウィンドウの最背面表示について
- 著者: tos
- 日時: 2003/10/15 12:56:33
- ID: 940
- この記事の返信元:
- この記事への返信:
- ツリーを表示
はじめて投稿するtosと申します。
開発環境
VB.NET
OS:WinXP Pro
ウィンドウを最背面表示にする方法を調べています。
SetParent API関数を使って 親ウインドウを "Program Manager" にするという
情報を見つけたので試したのですができませんでした。
下記は、Form1 に Botton をはりつけ、ボタンを押したら最背面表示に
しようとしているコードです。
実際に動作させると、ボタンを押した一瞬ウィンドウが消えて、またすぐ
通常の状態で表示されます。
その他、気になるところとして、SetParentの第一引数で Me.Handle.ToInt32 を
指定してますがこれが正しいか分かりません。VB6で Form1.hwnd としている
サンプルをいくつか見つけられたのですが、.Netでは Me.Handle.ToInt32 で
あってるのでしょうか?
よろしくお願いします。
■Form1.vb
--------------------------------------------------------------------------
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal cnm As String, ByVal cap As String) As Long
Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Long
Dim winhdl As Long
winhdl = FindWindow(vbNullString, "Program Manager")
i = SetParent(Me.Handle.ToInt32, winhdl)
End Sub
--------------------------------------------------------------------------
以上