//申明发送消息函数
        [DllImport("User32.dll", EntryPoint = "SendMessage")]
        private static extern int SendMessage(
            IntPtr hWnd,      // 窗体句柄
            uint Msg,         // 消息号
            uint wParam,      // 参数一
            uint lParam       // 参数二
            );C#里我想发送一组字符,string类型的,可发送消息的参数却是uint的,该怎么办啊?

解决方案 »

  1.   

    在C++里消息里通常用wParam或者lParam传递指针或句柄,像你这个问题就需要把字符串的指针作为SendMessage的参数,你研究下unsafe的编程吧。其实窗体间数据共享有很多方法,不一定非要用SendMessage。
      

  2.   

    发字符串,用的是sendmessage的lParam参数,把lParam类型定义为string就是的
      

  3.   


            //申明发送消息函数
            [DllImport("User32.dll", EntryPoint = "SendMessage")]
            private static extern int SendMessage(
                IntPtr hWnd,      // 窗体句柄
                uint Msg,         // 消息号
                uint wParam,      // 参数一
                string lParam       // 参数二
                );            
    string str = "发送的消息。";
    SendMessage(m_Handle, Message.ThreadMessage, 0,str);在消息处理那得到的却是数字,是内存么?
                    case Message.ThreadMessage:
                        {
                            string str = m.LParam;
                            Display.AppendText(str + "\n");
                            break;
                        }处理函数有问题么?
      

  4.   

    我也在整这个东西,麻烦!
    http://blog.csdn.net/zhensoft163/archive/2009/04/16/4085083.aspx