procedure TService1.Timer1Timer(Sender: TObject);
var
handle,myhwnd:hwnd;
begin
myhwnd:=FindWindow(nil,'test-client');
if myhwnd=0 then
winexec(PChar('D:\cstest\cstest\Client\Client.exe'), SW_SHOWNORMAL);
end;
就是client,不会显示其界面。
8 个解决方案
#1
是不是你的Timer 的 enabled 没置为True啊
#2
不是的,client已经在任务管理器中的进程中看到了,已启动了。
#3
自己已解决了
#4
是真慢回事?学习下
#5
桌面交互的问题吧!
#6
你好,请问这个桌面交互的问题怎样解决的?
我也碰到这样的问题!
就是服务A启动起来了,这个服务也启动某个(B)程序【任务管理器也能看见B.exe】,但是界面没有显示,请问你是怎样解决的呢?
我也碰到这样的问题!
就是服务A启动起来了,这个服务也启动某个(B)程序【任务管理器也能看见B.exe】,但是界面没有显示,请问你是怎样解决的呢?
#7
呵呵,俺知道了!
1:服务程序默认是工作于Winlogon桌面的,可以打开控制面板,查看我们刚才那个服务的属性-->登陆,其中"允许服务与桌面交互"打钩就可
2:用程序;创建服务时:
schService=CreateService(schSCManager,
szServiceName, //服务名字
szDisplayName, //服务名字
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath, //服务(.exe)路径
NULL,
NULL,
NULL,
NULL,
NULL
);
SERVICE_WIN32_OWN_PROCESS 修改为:SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS
现在在服务属性时就可以看见"允许服务与桌面交互"自动√了。
1:服务程序默认是工作于Winlogon桌面的,可以打开控制面板,查看我们刚才那个服务的属性-->登陆,其中"允许服务与桌面交互"打钩就可
2:用程序;创建服务时:
schService=CreateService(schSCManager,
szServiceName, //服务名字
szDisplayName, //服务名字
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath, //服务(.exe)路径
NULL,
NULL,
NULL,
NULL,
NULL
);
SERVICE_WIN32_OWN_PROCESS 修改为:SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS
现在在服务属性时就可以看见"允许服务与桌面交互"自动√了。
#8
在2003下还是不行的
#1
是不是你的Timer 的 enabled 没置为True啊
#2
不是的,client已经在任务管理器中的进程中看到了,已启动了。
#3
自己已解决了
#4
是真慢回事?学习下
#5
桌面交互的问题吧!
#6
你好,请问这个桌面交互的问题怎样解决的?
我也碰到这样的问题!
就是服务A启动起来了,这个服务也启动某个(B)程序【任务管理器也能看见B.exe】,但是界面没有显示,请问你是怎样解决的呢?
我也碰到这样的问题!
就是服务A启动起来了,这个服务也启动某个(B)程序【任务管理器也能看见B.exe】,但是界面没有显示,请问你是怎样解决的呢?
#7
呵呵,俺知道了!
1:服务程序默认是工作于Winlogon桌面的,可以打开控制面板,查看我们刚才那个服务的属性-->登陆,其中"允许服务与桌面交互"打钩就可
2:用程序;创建服务时:
schService=CreateService(schSCManager,
szServiceName, //服务名字
szDisplayName, //服务名字
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath, //服务(.exe)路径
NULL,
NULL,
NULL,
NULL,
NULL
);
SERVICE_WIN32_OWN_PROCESS 修改为:SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS
现在在服务属性时就可以看见"允许服务与桌面交互"自动√了。
1:服务程序默认是工作于Winlogon桌面的,可以打开控制面板,查看我们刚才那个服务的属性-->登陆,其中"允许服务与桌面交互"打钩就可
2:用程序;创建服务时:
schService=CreateService(schSCManager,
szServiceName, //服务名字
szDisplayName, //服务名字
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath, //服务(.exe)路径
NULL,
NULL,
NULL,
NULL,
NULL
);
SERVICE_WIN32_OWN_PROCESS 修改为:SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS
现在在服务属性时就可以看见"允许服务与桌面交互"自动√了。
#8
在2003下还是不行的