发新话题
打印

[基础] 用任务管理器关闭进程与vb的Unload事件?

用任务管理器关闭进程与vb的Unload事件?

我在一窗体的Unload事件中如下设置:
Private Sub Form_Unload(Cancel As Integer)
         Cancel = -1
End Sub
目的就是想在点关闭按钮时不关闭程序,退出程序的方法另定(用End),但在,打开任务管理器,在进程里点结束进程,还是一样的结束了程序!
     有什么方法能让程序在任务管理器里结束进程时也不关闭退出???

TOP

这是没有办法的,任务管理器关掉进程是直接杀掉进程,不会执行Cancel=False的操作了。

只能想其他的办法
1、将程序写成系统服务,任务管理器结束不了,但kill命令还是可以杀掉。
2、在Form_Unload重新执行程序 Shell App.Path & "\" & App.EXEName & ".exe"
换个头像,看见广告就眼红,直接封ID。

TOP

我的想法类似于方法2
我让两个程序相互监视,A.exe里监视B.exe是否在运行,如果没有就启动。在B.exe里监视A.exe是否在运行,如果没有就启动。(在A.exe里做真正想做的事情)。
为了能正常地结束这两个程序,又做了个C.exe。忘了说了,在A。exe和B.exe里先监视是否有C.exe在运行,如是没有C.exe运行,才是相互监视。如是要有C.exe ,就exit timer sub。
所以,只要有C.exe 在运行,就可以结束了。
    主要就是相互监视。

TOP

你做这东西,有点像流氓软件了,以前3721就用过这样的方法。
换个头像,看见广告就眼红,直接封ID。

TOP

        :o
这种方法可以不?还没试过呢!
总觉得任务管理器能直接KILL进程
来个监督的话就是重新加了个进程,就是同时运行两个程序。
晕。。发现任务管理器是不能同时杀掉两个进程的啊。。。。
。。那就是可以这样做了。。用3个的话不就更保险了?
。。做个病毒是很适合的。。杀不掉。。那杀毒软件不也郁闷了?

TOP

发新话题