找回密码
 加入
搜索
查看: 4345|回复: 12

[AU3基础] (已解决)求判断进程名长度及所在路径的代码

  [复制链接]
发表于 2011-4-11 11:23:53 | 显示全部楼层 |阅读模式
本帖最后由 q115643492 于 2011-4-16 15:40 编辑

有个需求需实现:
有很多进程,其文件所在路径为c:\a目录,其中有几个6位数的进程名,如binju2.exe, ftu86h.exe等,这些进程名都是固定的,但唯一有一个6位数的进程名是随机的,我想判断这个随机的进程是否存在,如果存在就执行其他操作。
思路:检测当前进程,计算进程名长度,如果发现进程名长度为10 (6+4 ,4为.exe)的进程,则判断该进程文件所在目录是否为c:\a,最后需排除c:\a目录下其他的几个固定6位数的进程名。
求这样一段代码,感谢!
发表于 2011-4-11 11:54:46 | 显示全部楼层
搜索关于 进程 正则的相关内容 论坛里都有
发表于 2011-4-11 12:12:57 | 显示全部楼层
搜索一下,应该有吧
 楼主| 发表于 2011-4-11 16:20:02 | 显示全部楼层
搜不到啊
能给我弄段代码吗
发表于 2011-4-11 17:01:09 | 显示全部楼层
#include <WinAPIEx.au3>

Local $Dir = 'C:\a\'
Local $sEList = 'binju2.exe|ftu86h.exe'
Local $aList = ProcessList()
For $i = 1 To $aList[0][0]
        If StringLen($aList[$i][0]) = 10 Then
                $tmp = StringReplace(_WinAPI_GetProcessFileName($aList[$i][1]), $Dir, '')
                If @extended > 0 Then
                        If Not StringRegExp($tmp, '(?i)' & $sEList) Then MsgBox(0, '发现异形', $tmp)
                EndIf
        EndIf
Next
 楼主| 发表于 2011-4-12 10:52:54 | 显示全部楼层
回复 5# afan


代码提示错误啊
发表于 2011-4-12 11:03:27 | 显示全部楼层
回复 6# q115643492


    什么错误提示?
发表于 2011-4-12 12:58:01 | 显示全部楼层
回复 7# afan

应该是_WinAPI_GetProcessFileName吧.
我的WinAPIEx.au3里找不到这个函数.
发表于 2011-4-12 13:06:40 | 显示全部楼层
官网下新版的WinAPIEx.au3呗
发表于 2011-4-12 13:10:20 | 显示全部楼层
回复 7# afan

我找到了,WinAPIEx_3.2里面就有那个函数.
http://www.autoitscript.com/foru ... /page__hl__winapiex
 楼主| 发表于 2011-4-15 13:06:46 | 显示全部楼层
本帖最后由 q115643492 于 2011-4-15 13:54 编辑

回复 7# afan


C:\Documents and Settings\azd\桌面\1.au3(8,78) : ERROR: _WinAPI_GetProcessFileName(): undefined function.
                $tmp = StringReplace(_WinAPI_GetProcessFileName($aList[$i][1])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\azd\桌面\1.au3 - 1 error(s), 0 warning(s)


是这个错误
 楼主| 发表于 2011-4-16 15:32:02 | 显示全部楼层
本帖最后由 q115643492 于 2011-4-16 15:41 编辑

已经解决。谢谢各位!
发表于 2011-8-20 16:47:49 | 显示全部楼层
afan绝对好人,呵呵
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 19:33 , Processed in 0.215822 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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