windows服务调用EXE,窗口程序没有弹出

时光机007 2017-04-26 08:08:28
用C#做了个windows服务,服务中调用一个EXE,EXE中运行一个托盘程序,在本机XP环境下,运行正确,但WINDOWS服务发布到服务器(WINDOWS server 2012环境)后,windows服务可以运行,进程中也可以看到EXE文件的进程,但程序的窗口,一直不显示。参考了网上的做法

服务 选择“属性”——》 单击“登录”标签(在最上面)——》选择本地系统帐户——》在“允许服务与桌面交互”复选框前打勾

但还是无效。请做过类似程序的朋友帮忙下。谢谢。
...全文
1279 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
时光机007 2017-04-27
  • 打赏
  • 举报
回复
你这个是15年前的方法了。 --> 你这个是5年前的方法了。 大致是从 window7、windows2008 开始,就已经不支持这样的操作了。然而微软对于不支持的东西的“兼容”策略是“不报错、但是也不执行”,很坑爹。微软在最近10年不太注重程序员的体验。 但是我在window10 上是可以用的
  • 打赏
  • 举报
回复
你这个是15年前的方法了。 --> 你这个是5年前的方法了。 大致是从 window7、windows2008 开始,就已经不支持这样的操作了。然而微软对于不支持的东西的“兼容”策略是“不报错、但是也不执行”,很坑爹。微软在最近10年不太注重程序员的体验。
  • 打赏
  • 举报
回复
引用 楼主 xingjin1625 的回复:
参考了网上的做法 服务 选择“属性”——》 单击“登录”标签(在最上面)——》选择本地系统帐户——》在“允许服务与桌面交互”复选框前打勾
你这个是15年前的方法了。windows服务现在仅支持 Session0 会话,无法跟桌面交互,过去的设置已经不兼容了。 桌面程序要单独作为一个桌面程序部署,例如作为一个“启动windows桌面”组里的exe来部署。然后远程登录到 windows 桌面,看到(或者手动)启动桌面程序之后,再“锁定windows”(不要注销 windows)就可以了。 windows服务程序只能跟桌面程序跨进程通讯,旦是不启动它。
xian_wwq 2017-04-27
  • 打赏
  • 举报
回复
可以参考这篇文章,穿透Session 0隔离 http://www.cnblogs.com/therock/articles/2261371.html
crystal_lz 2017-04-26
  • 打赏
  • 举报
回复
从某某版本的windows开始 服务就抛弃来UI 这也是合情合理的
stherix 2017-04-26
  • 打赏
  • 举报
回复
需要用特殊的方法来使服务调用的界面显示出来 因为服务运行不是在当前用户下,所以一般方法是看不到 需要服务用当前用户权限来调用exe ,才能显示出UI

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧