lm959680 发表于 2008-10-17 15:42:55

如何结束自身进程后在重运行!

我是想在程序中加一个这样的功能

因为我发现 程序会增加内存的使用

由于用360的浏览器 点不了插入代码类的东东.还好命令就是AU3

If WinExists($Outfile) = 1 Then
        Exit
Else
        AutoItWinSetTitle($Outfile)
EndIf

$men=ProcessGetStats(-1,0)
$men=$men/1024

If $men>10000 Then
        ProcessClose(@AutoItPID)
EndIf


结束了进程无法在重起了!!!

希望高手帮帮忙 出个想法~~谢了

程序试运行了一天 只增加1M多点内存 和我我估计的10M相差还是很远,所以 不考虑加这功能了,

感谢帮助的朋友~~

[ 本帖最后由 lm959680 于 2008-10-19 13:44 编辑 ]

liongodmien 发表于 2008-10-17 15:47:32

在结束前生成一个批处理,然后就再调用这个批处理,程序自己直接就去关闭,关闭了之后由批处理来再运行脚本程序...

78391493 发表于 2008-10-17 15:48:29

上双保险。。。

78391493 发表于 2008-10-17 15:49:11

回复 2# liongodmien 的帖子

他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。

fyyh 发表于 2008-10-17 16:10:22

做两个程序,互相监视就可以了!

lm959680 发表于 2008-10-17 18:42:36

原帖由 78391493 于 2008-10-17 15:49 发表 http://www.autoitx.com/images/common/back.gif
他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。

对了 程序是自己的 应该可以用exit结束

lm959680 发表于 2008-10-17 18:51:37

原帖由 78391493 于 2008-10-17 15:49 发表 http://www.autoitx.com/images/common/back.gif
他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。


批处理延迟下 就行了 但这方法不是很爽~~~

liongodmien 发表于 2008-10-17 20:56:39

原帖由 lm959680 于 2008-10-17 18:51 发表 http://www.autoitx.com/images/common/back.gif



批处理延迟下 就行了 但这方法不是很爽~~~
呵呵,虽然是有点不爽,但不会再运行一个你认为会吃大量内存的脚本程序。。。

如果你觉得用批处理不好,那就用子进程!

sanmoking 发表于 2008-10-18 17:32:32

假如本程序文件名为test.exe

步骤1.自身的窗口标题为“窗口0”,检测是否有标题为“窗口1”的窗口存在,有的话直接杀死。
步骤2.“窗口1”杀死后,自身标题“窗口0”改名为“窗口1”
…………
步骤3.当需要关闭并重新运行的话,直接运行test.exe。


呵呵,比较简单的想法,我之前就是这么干的。

sanmoking 发表于 2008-10-18 17:41:24

“标题0”只是程序刚启动时的临时标题,“标题1”才是正式展现给使用者的标题。或者干脆在程序创建窗口前进行检测,这样的话后运行的程序还时一个无窗口程序,不存在窗口标题,当把上次未结束的窗口杀死之后,后运行的程序在开始创建窗口。

lm959680 发表于 2008-10-19 13:41:37

原帖由 sanmoking 于 2008-10-18 17:32 发表 http://www.autoitx.com/images/common/back.gif
假如本程序文件名为test.exe

步骤1.自身的窗口标题为“窗口0”,检测是否有标题为“窗口1”的窗口存在,有的话直接杀死。
步骤2.“窗口1”杀死后,自身标题“窗口0”改名为“窗口1”
…………
步骤3.当需要关闭 ...


这个可以 一个程序解决~~谢了`~~

lnlyf 发表于 2012-1-19 21:36:21

学会了2楼狮子大哥的方法,9楼熊大哥的方法没弄明白。

魔导 发表于 2012-1-23 20:49:18

老熊的应该差不多吧
{:1_498:}

asdasdasd 发表于 2012-1-25 15:06:07

双进程守护想不想用?
页: [1]
查看完整版本: 如何结束自身进程后在重运行!