ProcessStartInfo 调用 程序 在进程里能看到 但是前台没有

大码海无涯 2010-09-08 02:43:45

System.Diagnostics.ProcessStartInfo Info1 = new System.Diagnostics.ProcessStartInfo();
Info1.WindowStyle = ProcessWindowStyle.Normal;
Info1.CreateNoWindow = false;
Info1.FileName = "C:\\WINDOWS\\system32\\cmd.exe ";
Info1.Arguments = "/K run.BAT";
Info1.WorkingDirectory = "D:\\";
System.Diagnostics.Process Proc1 = System.Diagnostics.Process.Start(Info1);



我做的一个服务程序,生成的exe(服务程序的exe)直接运行可以前台看到我的程序(服务对应的exe程序)。
但是我把服务程序 installutil 后 在服务里启动我的服务,在任务管理器里可以看到我的程序,但是前台没有界面(我的应用程序是2个dos界面的),请问怎么在前台显示应用程序啊???
...全文
279 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
结贴 关键点 1 要把自己建的服务 右键属性里的 登录 --选中允许服务与桌面交互
2 必须重启。。。。。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20070201/09/2b31f3a4-0be4-46bc-83a0-d536c27d93be.html
这里看到了一个类似的问题 我准备按他说的 去重启下看看 如果我登陆后 QQ已经弹出来了 而且我没有把QQ设置在 启动项里 那就是通过服务打开的 说明我的服务可以了 如果没有 那么继续研究。。。。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
楼上 ”(重复)绝大部分情况下服务显示界面就是设计错误。 “ 这个我赞同 但是 我如果服务程序就是启动QQ(假如啊) 那么这样也算错误码 如果QQ不出来界面 我怎么使用呢?

第二点 “开机一阵后服务就开始运行了,这时用户还不一定登录,你说界面要显示到哪里?”
好吧 如果是界面出来了 但是没有用户登录 显示没意义 那么我登陆了以后这个QQ界面要马上出来才是我想做的而不是再去 双击QQ图标

我说的有问题吗
gomoku 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 majialt 的回复:]
这里说一下 我的服务程序无界面 但是我用服务程序打开一个应用程序(目的是设置成开机启动) 但是这个应用程序无法看到界面(不过在任务管理器里有这个应用程序)
[/Quote]

这样想,开机一阵后服务就开始运行了,这时用户还不一定登录,你说界面要显示到哪里?
(重复)绝大部分情况下服务显示界面就是设计错误。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
这里说一下 我的服务程序无界面 但是我用服务程序打开一个应用程序(目的是设置成开机启动) 但是这个应用程序无法看到界面(不过在任务管理器里有这个应用程序)
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
那就是说 用服务打开某个应用程序只能在任务管理器里看到 无法看到界面,那这个应用程序以这种方式打开有啥意义啊,还有 你说的 “显示在另外一个桌面” 什么意思 能在另一个用户登录时看到吗 我试过 好像也不行啊 谢谢各位
gomoku 2010-09-08
  • 打赏
  • 举报
回复
"启动这个应用程序"默认会继承启动者的环境,包括用户,权限等,其中也包括桌面。
他们运行并显示在另外一个桌面,你在当前用户桌面是默认看不过去的。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
那就把这个程序当做一个应用程序 我建立了一个服务 启动这个应用程序 但是 任务管理器里能看到应用程序 却在前台看不到这个应用程序的界面 不一定是服务程序 只是一个服务程序调用应用程序 (但是却看不到应用程序的界面)
孟子E章 2010-09-08
  • 打赏
  • 举报
回复
服务程序是无界面的
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
可是还是没解释 为什么设置了程序界面 缺没有弹出界面
gomoku 2010-09-08
  • 打赏
  • 举报
回复
因为服务运行在不同的桌面。(Vista/Win7后就更严格了,专门的会话)
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
是可以不看到 但是既然设置这些:

Info1.WindowStyle = ProcessWindowStyle.Normal;
Info1.CreateNoWindow = false;



就是为了显示界面的啊 我想问问为啥界面没出来 那这段代码有啥用
gomoku 2010-09-08
  • 打赏
  • 举报
回复
为什么要看得到?
在服务(服务可以无人值守)中要求用户交互,就是设计错误。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
跟我的不太一样啊 我的就是在2003里 而且我直接运行服务程序好使 为啥发布了 在服务里run就不行呢
孟子E章 2010-09-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/danxuezx/archive/2010/07/04/5711873.aspx

讲解
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
在运行服务以后 能在本机上看到应用程序对应的界面。。
大码海无涯 2010-09-08
  • 打赏
  • 举报
回复
不是 就是能在运行服务的机器上看到我应用程序的界面(在运行以后)
孟子E章 2010-09-08
  • 打赏
  • 举报
回复
你说的前台是客户端吗?

111,092

社区成员

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

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

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