我准备做一个程序,在每台电脑做一个客户端,在我的电脑上面做一个服务端。在服务端上面可以控制客户端进行比如邮件PST文件备份的指定的共享文件夹,也可以控制客户端从指定的文件夹运行某个程序或是复制一些文件到本地电脑的指定文件夹之类的。可以我把客户端改做成服务程序的时候比如运行:ShellExecute(handle,'open','c:\acdsee\acdsee32.exe',nil,nil,SW_ShowNormal);这个语句在应该程序中可以运行,跳出acdsee图片浏览窗口出来。改成服务程序的时候acdsee32也会运行,但是不会跳出窗口出来,结束这个acdsee32程序也不能够结束。还有copyfile语句在应该程序中可以,但在服务程序中就不行了。请问各位大侠这是什么原因。
应该说它运行在另外一个用户桌面环境,所以在登录用户的桌面环境看不到界面(不知道对不)。
而登录用户,需要SE_DEBUG权限才能结束(以System帐户运行的)服务程序,而默认情况下,即使管理员身份,也不曾赋予该权限。