客户要求的。。我也不会C#~~~DWOND a;
HWND clientHwnd;
COPYDATASTRUCT cpd; 
cpd.dwData = 1;
cpd.cbData = 4;
cpd.lpData = (void*)&a;
SendMessageA(clientHwnd,WM_COPYDATA,NULL,(LPARAM)&cpd);

解决方案 »

  1.   

    [DllImport("user32.dll", EntryPoint = "SendMessageA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
    public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);uint a;
    IntPtr clientHwnd;
    COPYDATASTRUCT cpd = new COPYDATASTRUCT();
    cpd.dwData = 1;
    cpd.cbData = 4;
    cpd.lpData = a;
    SendMessage(clientHwnd,WM_COPYDATA,0,cpd);红字的可能还得改改
      

  2.   

    这个好该,就是一个内存数据传递消息。先搞定消息,再搞定COPYDATASTRUCT这个结构体,发送消息就行了。在函数声明出加上unsafe关键字。
    unsafe int test()
    {
    int a;
    IntPtr clientHwnd;
    COPYDATASTRUCT cpd; 
    cpd.dwData = 1;
    cpd.cbData = 4;
    cpd.lpData = &a;
    SendMessageA(clientHwnd,WM_COPYDATA,(IntPtr)0, StructureToPtr(cpd));
    }