在做一个工业控制的项目
机器的控制用C++实现(下简称Ctrl),用户接口用C#实现(下简称UI)。两个程序之间用NamedPipe进行通讯。从Ctrl向UI发送Message时LPARAM中放入字符串
例:PostMessage(hWnd, WM_USER, (WPARAM)10, (LPARAM)"TEST");请问如何在C#中通过WindowMessage接受字符串?现在只能通过LPARAM传递int,非常不方便。恳请高人指点,200分伺候。

解决方案 »

  1.   

    API中应该有一个监听的函数吧...记得以前用过sendMessage,就有一个对应的监听的函数....好长时间没用了...
      

  2.   

    这方面没怎么研究过...给你一个例子,希望对楼主有帮助...http://www.bloghome.cn/posts/4027
      

  3.   

    在CTRL 中定义生存周期足够长的变量,如全局变量
    该变量定义为结构typedef struct{ int nMessage; int nParam,char[] } ST_COMMUNICATION;
    ST_COMMUNICATION g_stSend;PostMessage(hWnd,WM_USER,(WPARAM)10,(LPARAM)&g_stSend);
    C# 里也要定义类似的结构,接收数据
    这种发送消息的方法要比命名管道好用多了,命令管道我也用过,太麻烦