w369610324 发表于 2010-1-12 17:42:24

怎样结束随机进程

有一个广告软件,我想清除他,手动清除的方法有了,但是要把他写成AU3,给更多的人用。

不过有很多问题我解决不了。

这个软件生成三个进程JKNBMS.EXENavi.exe   随机进程

解除这个软件的方法就是结束随机进程结束Navi.exe   然后立即删除临时目录下的文件 C:\DOCUME~1\xpuser\LOCALS~1\Temp这个目录会根据系统的不同而不同

随机进程有一个特点进程名很长   
(尽量不要用结束所有非系统进程)

顽固不化 发表于 2010-1-12 18:04:39

本帖最后由 顽固不化 于 2010-1-12 18:10 编辑

有朋友写了。

不过,temp下的不全是广告用的临时文件

afan 发表于 2010-1-12 18:39:24

这个解决方法貌似很被动,我觉得应该找更合理的解决途径……

顽固不化 发表于 2010-1-12 18:46:10

本帖最后由 顽固不化 于 2010-1-12 18:53 编辑

Dim $processList
$temp = EnvGet('temp')
$processList = ProcessList()
For $a = 1 To $processList
        If StringLen($processList[$a]) > 25 Then
                ProcessClose($processList[$a])
                FileDelete($temp & '\' & $processList[$a])
                ExitLoop
        EndIf
Next
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2:win32_process")
$colItems = $objWMIService.instances_
For $objItem In $colItems
        $Name = $objItem.Name
    If StringUpper($Name)="NAVI.EXE" Then       
                $path = $objItem.executablepath
                ExitLoop
    EndIf
Next
ProcessClose("navi.exe")
If $path<>"" Then
        $DELPath=StringRegExp($path,"(.+\\).+\\.+$",3)
        DirRemove($DELPath,1)
EndIf
       

afan 发表于 2010-1-12 19:07:25

如果正常程序名超过25个字符也就只有被错杀了,呵呵

顽固不化 发表于 2010-1-12 19:50:16

如果正常程序名超过25个字符也就只有被错杀了,呵呵
afan 发表于 2010-1-12 19:07 http://www.autoitx.com/images/common/back.gif

有位朋友写的前半部。随机名称,不太好判断。

afan 发表于 2010-1-12 20:00:06

所以我觉得LZ应该换个思路,譬如监视下程序的运作,是否在注册表中写入键值,键值与随机进程是否有联系等等……

朱雅琼 发表于 2010-1-12 20:18:33

基本上超过25个字符的正规进程没几个吧

并且对于实际应用,他只是网吧的一个开机程序,网吧机有有关部门要求必须安装的lj软件会弹出广告.

有关部门呐....悲哀

afan 发表于 2010-1-12 20:24:30

应该不会傻到使用固定字符数量的随机命名吧……

有关部门…… 这个部门一直很NX
页: [1]
查看完整版本: 怎样结束随机进程