一个关于SeriviceApplication 调用外部*.exe程序的问题!(100分)

  • 主题发起人 主题发起人 StepGuo
  • 开始时间 开始时间
S

StepGuo

Unregistered / Unconfirmed
GUEST, unregistred user!

我现在写了个通过网络来安装和执行*.exe程序的程序。1>客户端程序的功能是指定IP(网络中的哪一台机),和具体的*.exe程序。 2>服务端的程序是接收和执行纸定的*.exe程序。问题是如果服务端的程序用一般的Application.(Form中加ServerSocket).完全可以实现. 代码如下:
ShellExecute(handle, nil, PChar(lsCommand), nil, nil,SW_SHOWNORMAL)
指定的*.exe (lsCommand).完全可以执行.

但是服务端程序用ServiceApplication实现,就有问题了!代码如下:
ShellExecute(Application.handle, nil, PChar(lsCommand), nil, nil,SW_SHOWNORMAL);
或WinExec(PChar(StrCommand),SW_SHOW);
可以运行,指定的*.exe (lsCommand) (Example: 记事本 notepad),在进程中有,而且也结
束不了这个进程,就是不能看到它的界面!! 为什么?
我在实际中客户端和服务端的程序是反过来安装的. 因为我不想让人干预服务端的程序(实际中安装在客户端).所以我要用ServiceApplication实现,只让它运行在后台.

最大的困惑是指定的*.exe (lsCommand) (Example: 记事本 notepad),在进程中有,就是不能看到它的界面!!
 
是不是应该改“启动另一进程”的方法,看看还有什么函数可以调用,
比如 shellexecEx.

但是我觉得你的这个功能也可用普通程序来完成。
服务程序只要监听端口,接收指令后执行相应程序。
 
将service的interactive设为true,给分吧。
 
给分啊,不是想赖帐吧!!!
 
多谢! 我不是想赖帐! 只是太忙了! [:)]
 
后退
顶部