关于注册为系统服务程序的问题(在线等!!) ( 积分: 200 )

  • 主题发起人 主题发起人 wsdgs
  • 开始时间 开始时间
W

wsdgs

Unregistered / Unconfirmed
GUEST, unregistred user!
有个很郁闷的问题,为什么系统服务程序调用Winexec('C:/1.exe',SW_Normal);的时候1.exe根本就不显示界面,而且1.exe也无法终止了,就是任务管理器关不掉它,更要命的是连1.exe调用的程序也无法终止了。我有一个完整的代码在http://219.134.128.59/cgi-bin/dl/07515ED4349C9C497ECE7E108A1D0A5C55FB44BC53D66AF88C051E6FE9381B22520CA2D7BBEE7C7E4CF999A7D365E51E4730/hzx.rar   。上,是一个系统服务程序的Demo我改了几句代码,哪位高手帮我看看问题也可以。注意一点,我需要在线程里调用Winexec('C:/1.exe',SW_Normal)。
 
有个很郁闷的问题,为什么系统服务程序调用Winexec('C:/1.exe',SW_Normal);的时候1.exe根本就不显示界面,而且1.exe也无法终止了,就是任务管理器关不掉它,更要命的是连1.exe调用的程序也无法终止了。我有一个完整的代码在http://219.134.128.59/cgi-bin/dl/07515ED4349C9C497ECE7E108A1D0A5C55FB44BC53D66AF88C051E6FE9381B22520CA2D7BBEE7C7E4CF999A7D365E51E4730/hzx.rar   。上,是一个系统服务程序的Demo我改了几句代码,哪位高手帮我看看问题也可以。注意一点,我需要在线程里调用Winexec('C:/1.exe',SW_Normal)。
 
服务属性中钩选“允许与桌面交互”
 
这样效果一样,就是不一样我也不能帮每个用户去钩选啊
 
让服务的 interactive 属性为 True
 
StartType设为stSystem<br>Interactive 设为 True;
 
服务启动的程序是只有服务结束后才能自动关闭的。显示可能不行吧?
 
系统服务程序调用Winexec('C:/1.exe',SW_Normal);的时候1.exe根本就不显示界面,他不是说服务本身
 
xianguo:我按你的改了,但1.exe还是关闭不掉,难道服务程序不能调用其他程序?
 
你的demo我试了一下是可以的,只不过我是调用Winexec('calc.exe',SW_Normal);你的'C:/1.exe'这个路径好像不对吧。<br>win2k server+d7
 
C:/1.exe?这个有什么问题,随便你怎么写,试了一下是可以的是什么意思,你可以在资源管理器里关闭'calc.exe'?
 
C:/1.exe应该没有问题啊
 
&gt;&gt;试了一下是可以的是什么意思<br>晕死了,这也要解释一下!<br>我的意思是说,我运行楼主的demo,在服务中执行Winexec('calc.exe',SW_Normal);可以显示calc.exe的界面,也可以正常关闭,也可以在任务管理器中中止,至于“资源管理器里关闭'calc.exe'?”呵呵,这个不明白什么意思
 
可以显示calc.exe的界面,但我怎么就是在任务管理器中中止不掉calc.exe
 
以服务权限启动的程序,它的权限也是服务级的。所以你用任务管理器是无法结束掉的。
 
StartType设为stSystem ??? <br>stSysten -&gt; stWin32
 
我只能同意devilsniffer的说法了?tseug,xianguo你们的答案我已经测过了,不行,你还能怎么说呢,完整的代码我也给出来了,你们可以自己去试啊!是真的不行,我估计问题是出在建立线程的权限上。
 
我估计问题是出在建立线程的权限上
 
没人回答,老是自己顶,55555
 
我用这个代码改的,没问题<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3032607
 
后退
顶部