c#win32 SendMessage命令在VS Any CPU模式下不工作,仅在x86模式下工作

本文关键字:模式 工作 x86 仅在 CPU 命令 SendMessage VS Any c#win32 | 更新日期: 2023-09-27 18:19:49

我正在使用SDK,但无法使SendMessage命令在64位操作系统上正常工作。我读过http://www.pinvoke.net/default.aspx/user32.SendMessage并理解必须使用IntPtr,但我仍然无法使代码工作。以下是原始代码的部分内容。

public const Int32 WM_COPYDATA = 0x4A;          // Value of WM_COPYDATA
[DllImport("User32.dll", EntryPoint = "SendMessage")]
    public static extern Int32 SendMessage(
                                        IntPtr hWnd,
                                        UInt32 Msg,
                                        UInt32 wParam,
                                        ref COPYDATASTRUCT lParam);
 result = SendMessage(hWnd, ImageConnectionsMain.WM_COPYDATA, (Int32)0, ref cds);    // Win32API

如果有任何反馈,我将不胜感激。

c#win32 SendMessage命令在VS Any CPU模式下不工作,仅在x86模式下工作

我的代码混合了我在问题中放置的链接和Ivan Storv的链接。我错过了用IntPtr替换一些Int32。非常感谢