0

開いている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を返します...私が間違っているのは何ですか?

4

0 に答える 0