查看完整版本: 问一个比较难的问题delphi的

4980 2008-4-28 20:52

问一个比较难的问题delphi的

我用delphi创建了一个Service application,把他安装为服务,当系统启动的时候他自动启动了,这个服务(我们叫A.EXE)主要是:

1、负责启动程序B.EXE,

2、监控程序B是否关闭,如果B被人为关闭了,服务A就再次把B.EXE启动了,

现在的问题是我必须把服务的service的interactive属性设成True,才能看到B.EXE的界面,否则看不到B的界面,

但是我看到好多服务程序的interactive是False,但是也能看到界面,因为看到了托盘,在右下角。不知道那些服务是怎么做的?

浅释 2008-4-28 22:30

没做过Service,听课

4980 2008-4-28 22:33

我的服务程序非常简单就是直接用 winexec打开B.exe

enthappy 2008-4-29 23:08

:o  关了就是用户不再愿意看到程序B了,别再启动了好不?

航海士 2008-4-30 07:46

很多病毒就是这么做的,莫非楼主要写......:o

qiao 2008-4-30 08:19

感觉是在做病毒

somehend 2008-4-30 08:30

应该不存在你描述的问题,需要交互就处理进程间通信交互的问题,
看你的需求不需要,所以是GOOGLE比较简单守护进程之类的知识就是了.

B的进程是否看到,没有遇到过,这个如果一种方式不行,换其他启动方式看看,再不行,
直接就命令行方式启动,绝对不会有问题.
我猜测你的B程序没有自己作好自己的工作而已,这个应该是不相关的.

顺便提示一下,你的母程序除了做一个服务,还要拥有反侦察,防止BE KILLED的功能,
所以也最好带自监控的功能,

最后要说的是不要太过分了哦,

CodeCoolie 2008-4-30 12:04

[quote]原帖由 [i]4980[/i] 于 2008-4-28 22:33 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=351703&ptid=80693][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
我的服务程序非常简单就是直接用 winexec打开B.exe [/quote]

用ShellExecute试一试呢?

player1 2008-4-30 12:14

:lol

还没想好 2008-4-30 12:40

需要切换桌面,service是运行在Station0的,用户桌面是在StationN。

shuihan20e 2008-5-9 00:59

我感觉可以加一个计时器,不停启动,在启动时写段代码防止 多个实例运行吧

我是根据前面的回答来回答的,不知道是不是词不达意:lol
页: [1]
查看完整版本: 问一个比较难的问题delphi的