• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

AutoIt3(AU3源码)遍历进程关闭进程并删除进程相关文件

AutoIT3 奇跡の海 2年前 (2017-05-31) 434次浏览 已收录 0个评论 扫描二维码

AutoIt3(AU3源码)遍历进程关闭进程并删除进程相关文件

简介

遍历进程并关闭进程并删除进程相关视频缓存文件和注册表键值

源码

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Outfile=QmePlayer.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <File.au3>
Run("QvodPlayer2.exe")
While 1
Global $avArray[3] = ['QvodPlayer2.exe', 'qvodplayer.exe']
For $i = 0 To UBound($avArray) - 1
If ProcessExists($avArray[$i]) Then
	$list = ProcessList()      ;获得所有进
    $inStrProcessName = "QvodUpdate5" ;引号内为进程名所包含的特定字符串
for $i = 1 to $list[0][0]    ;遍历进程
	If StringInStr($list[$i][0],$inStrProcessName) Then
	$ProcessPath = Processpath($list[$i][1]) ;获取将关闭进程的储存路径
	ProcessClose($list[$i][0])  ;如果进程名中包含QvodUpdate5就关闭该进程。
	$FileName = StringReplace($list[$i][0], ".exe", ".exe.!mv") ;从获得的进程全名中去掉后缀名 .exe
	$CreateFolder = DirCreate("C:\Program Files\7mePlayer\"& $FileName)      ;创建以进程名为名字的文件夹
	If $CreateFolder Then ;如果文件夹创建成功
	$WriteInfo = FileOpen("C:\Program Files\7mePlayer\"& $FileName &"\"& $FileName &".txt",1)     ;创建以进程名为名字的txt文本
	FileWriteLine($WriteInfo, "ProcessName: "& $list[$i][0] &"  PID: "& $list[$i][1])     ;将进程名,进程PID写入txt文本
	FileClose($WriteInfo)
	EndIf
	Sleep(500) ;等待进程关闭
	If  $ProcessPath <> "" Then FileDelete($ProcessPath) ;删除进程源文件,慎用哈!
	Endif
Next

Else
	
ProcessClose("QvodTerminal.exe")
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "QvodTerminal")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "QvodTerminal")
Sleep(100) ;等待进程关闭
$Path = "C:\Program Files\7mePlayer\"  ;指定目录,路径自己改
$FileName = "QvodUpdate5"
$Files = _FileListToArray($Path) ;获得指定目录下的文件
For $i = 1 To UBound($Files)-1
	If StringInStr($Files[$i], $FileName) Then
	FileDelete($Path & $Files[$i]) ;删除含有$FileName的文件
	EndIf
Next


Dim $i, $Drive
For $i = 67 To 90
$Drive = Chr($i)
If FileExists($Drive & ":\" & "MyVideos") Then
   FileDelete($Drive & ":\" & "MyVideos"& "\" & "*.*")

EndIf
Next


ProcessClose("QmePlayer.exe")

ExitLoop

EndIf
Next
Sleep(100)
WEnd

Func Processpath($iPID)
	Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
	If $aProc[0] = 0 Then Return SetError(1, 0, '')
	Local $vStruct = DllStructCreate('int[1024]')
	DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
	Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
	If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '')
	Return $aReturn[3]
EndFunc

版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->AutoIt3(AU3源码)遍历进程关闭进程并删除进程相关文件!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址