程序要用到如下两种通信方式:
1.后台进程定时(比如10秒)更新数据,更新完成后,通知前台进程读取数据。
2.前台进程点击刷新按钮,后台进程完成更新数据操作。
本人对进程通信了解较少,请大家指教。

解决方案 »

  1.   

    进程间共享内存
    进程间通讯
    看windows核心编程
      

  2.   

    Windows核心编程里关于进程通讯这一块的内容比较少。
    哪位能够提供一个解决方案,谢谢!
      

  3.   

    用到数据库没?如果用到SQL那样可以跨机器读去数据的数据库就可以简单些。服务程序直接发消息给客户程序,客户程序直接读去数据库
      

  4.   

    这种简单的通讯用SendMessage就可以了,如果需要传送大量数据可以用pipe。
      

  5.   

    建议使用socket,用UDP方式的,
    后台进程更新数据完成后,发送特定数据包给前台,
    前台对此数据包解析/识别,完成需要的操作。
    前台对后台的通知同上。类似于发送命令的方式,只不过是通过socket进行。
      

  6.   

    解决方法很多,pipe,参数,数据库等。看你的需求而定,选择一个适合自己的。
      

  7.   

    是了 通信方式很多核心编程 进程间通信也说了很多吧。。socket不错。
      

  8.   

    用SendMessage方法最好。因为lz只是发送个通知信号,数据量非常上。
    使用进程间sendmessage的方法应该最简捷。
      

  9.   

    你的这个问题是个多层架构的问题,首先从架构上,你分数据采集控制层,与前台应用层,这两者需要共享数据,同时还需要事件触发机制,看你的需求是怎样如果响应速度要求严格,数据共享可采用内存映射共享方式(windows核心编程里有),如果不严格则可以采用关系数据库或文件形式都可以,不过要考虑好共享数据的冲突,关系数据库已经做了处理,如果是内存映射就必须做好读写冲突的机制。事件触发有很多种通讯方式,简单的可采用窗口消息,事件、信号量等进程间通讯机制(window核心编程里也有)。具体要看你的需求了。如果不怕麻烦还可以采用COM接口方式实现进程间通讯。