找回密码
 加入
搜索
查看: 3081|回复: 13

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

[复制链接]
发表于 2008-10-17 15:42:55 | 显示全部楼层 |阅读模式
我是想在程序中加一个这样的功能

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

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

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

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

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


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

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

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

感谢帮助的朋友~~

[ 本帖最后由 lm959680 于 2008-10-19 13:44 编辑 ]
发表于 2008-10-17 15:47:32 | 显示全部楼层
在结束前生成一个批处理,然后就再调用这个批处理,程序自己直接就去关闭,关闭了之后由批处理来再运行脚本程序...
发表于 2008-10-17 15:48:29 | 显示全部楼层
上双保险。。。
发表于 2008-10-17 15:49:11 | 显示全部楼层

回复 2# liongodmien 的帖子

他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。
发表于 2008-10-17 16:10:22 | 显示全部楼层
做两个程序,互相监视就可以了!
 楼主| 发表于 2008-10-17 18:42:36 | 显示全部楼层
原帖由 78391493 于 2008-10-17 15:49 发表
他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。


对了 程序是自己的 应该可以用exit结束
 楼主| 发表于 2008-10-17 18:51:37 | 显示全部楼层
原帖由 78391493 于 2008-10-17 15:49 发表
他说的是结束进程,就是非法关闭,怎么可能会继续执行DOS命令。。



批处理延迟下 就行了 但这方法不是很爽~~~
发表于 2008-10-17 20:56:39 | 显示全部楼层
原帖由 lm959680 于 2008-10-17 18:51 发表



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

呵呵,虽然是有点不爽,但不会再运行一个你认为会吃大量内存的脚本程序。。。

如果你觉得用批处理不好,那就用子进程!
发表于 2008-10-18 17:32:32 | 显示全部楼层
假如本程序文件名为test.exe

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


呵呵,比较简单的想法,我之前就是这么干的。
发表于 2008-10-18 17:41:24 | 显示全部楼层
“标题0”只是程序刚启动时的临时标题,“标题1”才是正式展现给使用者的标题。或者干脆在程序创建窗口前进行检测,这样的话后运行的程序还时一个无窗口程序,不存在窗口标题,当把上次未结束的窗口杀死之后,后运行的程序在开始创建窗口。
 楼主| 发表于 2008-10-19 13:41:37 | 显示全部楼层
原帖由 sanmoking 于 2008-10-18 17:32 发表
假如本程序文件名为test.exe

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



这个可以 一个程序解决~~谢了`~~
发表于 2012-1-19 21:36:21 | 显示全部楼层
学会了2楼狮子大哥的方法,9楼熊大哥的方法没弄明白。
发表于 2012-1-23 20:49:18 | 显示全部楼层
老熊的应该差不多吧
发表于 2012-1-25 15:06:07 | 显示全部楼层
双进程守护想不想用?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 23:38 , Processed in 0.083448 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表