フォームのハンドルを取得するVBの方法は?
VBでは、以下の手法を使用してフォームのハンドルを取得することができます。
- Me.Handleプロパティを使用する:Me.Handleは、現在のウィンドウのハンドルを返します。たとえば、以下のコードを使用して、現在のウィンドウのハンドルを変数に格納できます。
Dim hWnd As IntPtr = Me.Handle
- Win32のFindWindow関数を使用して、指定されたウィンドウのハンドルを取得することができます。これを行うには、関連するWin32 API関数の宣言をインポートする必要があります。
Imports System.Runtime.InteropServices
そして次のコードを使用して FindWindow 関数を呼び出す:
Dim windowTitle As String = "窗体标题" '替换为实际窗体的标题
Dim hWnd As IntPtr = FindWindow(Nothing, windowTitle)
<DllImport("user32.dll", SetLastError:=True)>
Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
End Function
上記コードでは、FindWindow関数にウィンドウのタイトルを渡すことで、指定ウィンドウのハンドルを取得できます。
Win32 API関数宣言のインポートが必要で、現在のアプリケーション外にある他のフォームに対してのみ適用することに注意してください。同じアプリケーション内のフォームのハンドルを取得する場合は、最初の方法を使用することをお勧めします。