|
分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
本帖最后由 vioer 于 2019-6-13 13:26 编辑
不知道能不能发到这里,因为不是易语言的源码....
先声明一下,批处理我绝对是个半吊子,之所以用这种办法,也是被逼无奈...
我用小精灵给自己心爱的游戏写了个挂机程序.小精灵那个东西,用过的都知道,是相当的不稳定.尤其一旦使用了"多线程",那不是会不会崩溃,而是什么时候崩溃的问题.改用易语言以后,崩溃的可能已经大为降低,但自己这个垃圾水平自己也清楚,所以把这个东西又重新掏出来,算是给自己的程序加了层保护.
挂机程序要求24小时不能停,最怕的就是自己挂掉.当程序挂掉时,批处理可以强制程序重新启动.
不知道大神是怎么解决程序偶尔崩溃的问题,这是我的土办法,如果有更好的办法,也希望不吝赐教.
回到刚才那句话,我是个半吊子,不是批处理的专家,代码也是东抄一段,西抄一段.乱七八糟的拼到一起.但有一点我可以声明,这段代码运行了大半年没出过毛病.像我这种业余选手,能用就是好东西,要求不高.至于代码写的规范不规范,我也不知道,希望大神看了不要笑....
先说下原理:
你的程序开始运行以后,每隔一段时间(这个时间根据你的程序情况而定),记录一个时间戳,这个时间戳写到一个INI文件里.
批处理程序循环检测这个时间戳,并计算出当前时间与这个时间戳的差.
如果你的程序停止运行,时间戳的记录就停止了,与当前时间的差值就会越来越大,当这个差值大于你预定的值,就强制杀掉进程,重新启动程序.
我的INI文件格式:
注意这个INI文件里各项的名称,与你的批处理是一一对应的,其中[程序运行]就是那个时间戳,[程序监测]是批处理运行开关,为1时批处理运行,为0批处理不运行,也就是停止监测.这个开关根据情况写到你的程序里去修改它.
下面是批处理程序:
提醒一下,批处理要在你的程序开始运行以后再启动.
关键地方都有注释,有疑问也不要问我,因为...............很多地方我也不明白......(尤其是子程序里的,都是抄来的...我只是拼到一起...)
对照着INI文件和批处理反复调试,你会成功的...
|
评分
-
查看全部评分
|