首页 新闻 搜索 专区 学院

c#启动一个exe文件

1
悬赏园豆:20 [待解决问题]

我用c#启动一个exe文件,也相当于打开一个普通的可执行文件,比
如“c:\windows\notepad.exe“。在vs环境中测试时很正常,编译后这个服务也可以正常
启动和停止,但是它打开的可执行文件(比如notepad.exe)却不显示界面,在任务管理
器中可以看到notepad.exe的进程。而我用这个服务来打开的程序是必
须要显示界面的,应该如何解决这个问题?

谢谢各位大侠

chenhaixia的主页 chenhaixia | 初学一级 | 园豆:174
提问于:2011-05-06 21:11
< >
分享
所有回答(3)
1

try to maximize the exe process windows 

Process.StartInfo.WindowStyle = ProcessWindowStyle.Max...; 

Jerry Chou | 园豆:2642 (老鸟四级) | 2011-05-06 21:38
这样做还是不行,IIS上不显示界面,在任务管理器中可以看到notepad.exe的进程,我应该如何设置了?
支持(0) 反对(0) chenhaixia | 园豆:174 (初学一级) | 2011-05-07 13:58
0


  //声明一个程序信息类  
  System.Diagnostics.ProcessStartInfo   Info   =   new   System.Diagnostics.ProcessStartInfo();  
  //设置外部程序名  
  Info.FileName   =   "notepad.exe";    
  //设置外部程序的启动参数(命令行参数)为test.txt  
  Info.Arguments   =   "test.txt";  
  //设置外部程序工作目录为   C:\  
  Info.WorkingDirectory   =   "C:\\";   
  //声明一个程序类  
  System.Diagnostics.Process   Proc  

地瓜的爱 | 园豆:95 (初学一级) | 2011-05-07 13:24
你好,这样做在本地测试一切正常,但是发布后在IIS上测试,进程在任务管理器可以看到,但是启动的页面不显示,网上也查写资料说权限不够,也设置了,但是还是不显示。
支持(0) 反对(0) chenhaixia | 园豆:174 (初学一级) | 2011-05-07 13:57
0

这是两个不同的用户角色,你等录系统是管理员,IIS使用自己的用户处理的,这两个不同的会话是不能直接公用的。 IIS中启动一个可见的界面进程,建议不要这样用,最好使用一个独立的程序检测状态再独立处理,否则IIS既然是服务,这样处理交互不好 调试的时候,因为VS启动的页面宿主和你的登陆帐号是一个,在一个会话中,所以可见

2012 | 园豆:20391 (高人七级) | 2011-05-07 21:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册