開いているWindowsエクスプローラーウィンドウからWNDPROCを取得しようとしています。ウィンドウのハンドルを正常に取得できますが、「GetWindowLongPtr」は常に「0」を返します。
私はエントリを宣言しています:
<DllImport("user32.dll", EntryPoint:="GetWindowLongPtrW")> _
Public Shared Function GetWindowLongPtrW(ByVal hWnd As HandleRef, <MarshalAs(UnmanagedType.I8)> ByVal nIndex As Long) As IntPtr
End Function
そして私はWNDPROCを取得しようとしています:
Dim ist As IntPtr
Dim mtm As IntPtr
Try
ist = FindWindow("CabinetWClass", vbNullString)
Dim ist2 As New HandleRef(0, ist)
MsgBox(ist)
mtm = GetWindowLongPtrW(ist2, 1)
MsgBox(mtm)
Catch ex As Exception
MsgBox("Erro :(" & vbCrLf & vbCrLf & ex.ToString)
End Try
しかし、WNDPROC MSGBOXは常に0を返します...私が間違っているのは何ですか?