关于 winfrom 窗体在服务中运行如何跳出一个窗体

.Net技术 码拜 10年前 (2015-05-10) 840次浏览 0个评论

我把winfrom 写入服务中后 , 它后台自动运行 ,但是 new 窗体 他不显示 出来,  如何解决???

@新闻界摸黑 
废话嘛,服务程序哪里来的窗体

要么别注册成服务

要么再做个程序和服务程序通信

做服务程序,一般用控制台程序就好,窗体程序可以注册成服务,但是根本显示不出来窗体

因为windows是多用户系统

服务程序所在的用户并非当前登录的用户,当前用户根本看不到服务程序用户下的桌面

40分
直接弹出肯定是不支持的

WIN7的服务程序都运行在Session 0,第一个登录的用户为Session 1, 依次类推.
要让服务程序跟桌面程序交互,可以在服务程序中, 使用CreateProcessAsUser来创建一个
在当前激活用户下面的桌面程序,
然后使用TCP,内存映射之类的进程间通讯的方式和桌面程序交互
可以参考
http://www.cnblogs.com/therock/articles/2261371.html

引用 2 楼 Z65443344 的回复:

废话嘛,服务程序哪里来的窗体

要么别注册成服务

要么再做个程序和服务程序通信

怎么再建一个程序和它通信

new了没有Show当然不显示了

new Form1().Show();

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于 winfrom 窗体在服务中运行如何跳出一个窗体
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!