日期:2014-05-20  浏览次数:20855 次

如何在windows服务与桌面程序间传递对象引用
大意如下:
由windows 服务来创建form1 
在桌面程序中控制windows服务,得到form1显示出来,
用户对form1可以进行操作,当后视镜面程序退出,或者异常情况时,还是由服务来接管
似乎form1在服务和后视镜面程序间应该是共享的,

能过序列化也是可以传递的,不过那是整体都传递了

如何做到?


------解决方案--------------------
设计有问题, 服务为啥创建窗口呢, 常规服务程序是没有 windowstation(是这个名字吧) 的,
服务有创建窗口的需求, 可以请求桌面程序来代为办理.

他们两个真正交互的是一些很少的信息,
那些信息的封装类要跨越进程空间传递的话, 可以使用 remoting 啦

------解决方案--------------------
服务程序可以创建窗口,但一般不这样做。
窗口是与线程相关的,哪个线程中创建的窗口就由哪个线程来管理,其它线程只能通过消息的形式访问窗口。
进程间是不能传递对象引用的。