|
发表于 2016-12-16 12:05:05
|
显示全部楼层
本帖最后由 joyjamu 于 2016-12-16 12:07 编辑
以前看视频的时候看到说TC会在临时文件夹释放文件,调试后不会删除,一直不知道怎么弄,今天看了你的我试了下,的确调试结束后会删除释放的文件夹文件,然后楼主的代码是5.0的,现在都是6.0以上了不能直接用,所以我改了下,不知道对不对,我对里面的语句都不懂,,,,,贴上中英文2个版本吧,楼主看看啊:
不理解子功能能 参_延迟=5 及 参_延迟+1 什么意思,我直接把 ”cstring(参_延迟 + 1)“ 改成了 “参_延迟”
- /------------------
- 功能 采集_初始化()
- //这里添加你要执行的代码
- 变量 区_资源=获取资源路径("rc:")
- 命令("explorer.exe"&系统获取系统路径(2),假)
- 调试输出(区_资源)
- 监控清除资源(区_资源)
- 调试输出(区_资源)
- 结束
- //-------------
- 功能 监控清除资源(参_延迟)
- 变量 局_进程,局_文件,局_句柄,局_内容 = ""
- 局_进程 = 动态库调用("Kernel32.dll","long","GetCurrentProcessId")
- 局_内容 = 局_内容 & "SET pid=" & 转字符型(局_进程) & "\r\n:loop\r\ntasklist /nh /fi "pid eq %pid%"|find /i "%pid%" > nul\r\n"
- 局_内容 = 局_内容 & "if %errorlevel%==0 (\r\nping -n 2 127.0.0.1 > nul\r\ngoto loop )\r\nping -n " & 参_延迟
- 局_内容 = 局_内容 & " 127.0.0.1 > nul\r\nRd /s /q "" & 获取资源路径("rc:") & ""\r\ndel %0"
- 局_文件 = 系统获取系统路径(2) & 转字符型(局_进程) & ".bat"
- 局_句柄 = 文件创建(局_文件,"CREATE_ALWAYS|rw")
- 文件写入字符(局_句柄,局_内容)
- 文件关闭(局_句柄)
- 返回 !(动态库调用("Shell32.dll","long","ShellExecuteW","long",0,"wchar *","open","wchar *",局_文件,"wchar *","","wchar *",null,"long",0) < 32)
- 结束
- //-------------
- //------------
- function 采集_初始化()
- //这里添加你要执行的代码
- var 区_资源=getrcpath("rc:")
- cmd("explorer.exe"&sysgetpath(2),false)
- traceprint(区_资源)
- 监控清除资源(区_资源)
- traceprint(区_资源)
- end
- //-------------
- function 监控清除资源(参_延迟)
- var 局_进程,局_文件,局_句柄,局_内容 = ""
- 局_进程 = dllcall("Kernel32.dll","long","GetCurrentProcessId")
- 局_内容 = 局_内容 & "SET pid=" & cstring(局_进程) & "\r\n:loop\r\ntasklist /nh /fi "pid eq %pid%"|find /i "%pid%" > nul\r\n"
- 局_内容 = 局_内容 & "if %errorlevel%==0 (\r\nping -n 2 127.0.0.1 > nul\r\ngoto loop )\r\nping -n " & 参_延迟
- 局_内容 = 局_内容 & " 127.0.0.1 > nul\r\nRd /s /q "" & getrcpath("rc:") & ""\r\ndel %0"
- 局_文件 = sysgetpath(2) & cstring(局_进程) & ".bat"
- 局_句柄 = filecreate(局_文件,"CREATE_ALWAYS|rw")
- filewrite(局_句柄,局_内容)
- fileclose(局_句柄)
- return !(dllcall("Shell32.dll","long","ShellExecuteW","long",0,"wchar *","open","wchar *",局_文件,"wchar *","","wchar *",null,"long",0) < 32)
- end
复制代码 |
|