紧急求助:有关Windows 2003服务的问题。(100分)

  • 主题发起人 主题发起人 happycyp
  • 开始时间 开始时间
大灰熊我支持你,你用SHELLEXECUTE行吗?
 
现在应该可以确定,是服务程序的权限问题 。用CreateProcess也不行。
如何才能提高服务程序的权限呀。唉,2003的问题 ,真不是不好解决呀
 
BOOL CreateProcess(

LPCTSTR lpApplicationName, // pointer to name of executable module
LPTSTR lpCommandLine, // pointer to command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // pointer to process security attributes
LPSECURITY_ATTRIBUTES lpThreadAttributes,
 
最新发现,显示所有进程,居然发现用Winexec,或者ShellExecute,或者CreateProcess调用外部程序结果都是一样的,在进程列表里都有,但是都不能显示出程序窗体。
但是,已经设置为与桌面交互了。不明白为什么。
用GetLastError,都是提示126。
在Windows XP中调用外部程序,可成功显示程序窗体,但GetLastError也返回126。
 
126错误是“找不到指定的模块。”,是不是你的程序运行时需要的某些系统文件无法找到? 或者有些文件win2003中没有安装。也可能是你的服务程序运行的用户身份有问题。
 
TO orangutang,
在2003中,执行时进程列表里有执行的外部程序,但是不能显示出程序窗体,GetLastError也返回126。
在Windows XP中调用外部程序,可成功显示程序窗体,,但GetLastError也返回126。
 
To happycyp
服务不要用系统账户登录,采用此帐户:administrator/密码/确认密码 试一试。
 
==================
顶上.
 
试过了,不行
数据保护也添加了这个程序.
显示不出窗体来.但是在进程列表里有.
 
分步试一下:
首先,让服务程序启动时,仅执行一个最简单外部应用程序(用delphi做一个只有1个主界面没有任何操作的exe),-- 我用windows 2003 + delphi7作的试验,应用程序是可以正常显示exe的主界面的。
如果简单外部应用程序可以正常被运行,说明服务启动、运行、登陆身份都是没有问题的。上述126错误错误应该是你的应用程序在启动时发生的错误。
如果简单外部应用程序都不能运行,问题应该出在windows 2003的设置上。
 
我做了个服务程序,安装后不允许中断,但要求在安全模式下也不允许,请问怎么实现
 
我做了个服务程序,安装后不允许中断,但要求在安全模式下也不允许,请问怎么实现

看来这个问题还真难
 
是当然路径的问题.加分吧!
 
多人接受答案了。
 
后退
顶部