求个匹配某段关键字即执行预定的几个进程或……
本帖最后由 凌菡 于 2011-12-30 00:38 编辑新手入门,此程序急用,所以来求助于各位达人。需求是这样的:
电脑开机后,运行
c:\windows\system32\clsmm.exe /long
命令后,会在右下角弹出个框,这个框里会显示
会员卡号:123456789191248468(这个数字是18位的身份证号)
当在这个框里匹配这个18位的身份证号后,
则立即结束进程中的1.exe a.exe a34.exe进程,
如果没有这几个进程,就继续等待2分钟,在这2分钟内,如果有其中的某进程运行,就立即结束,如果以上几个进程全都匹配了,就立即完全退出,如果没有,不做提示
直到2分钟的时候,程序完全退出。
以上要求要怎么写?
另外一个:
当IE6的地址栏输入比如baidu.com敲回车后,
则立即结束进程中的1.exe a.exe a34.exe进程,
如果没有这几个进程,就继续等待2分钟,在这2分钟内,如果有其中的某进程运行,就立即结束,如果以上几个进程全都匹配了,就立即完全退出,如果没有,不做提示
直到2分钟的时候,程序完全退出。
这两个分别要怎么写呢? 等待高手解答 自己在恶补学习手册中,无奈,实在是还没达到自己所需要的水平,哪位前辈路过,帮个忙哈~ 要实现其实也挺简单的,弹出个框,这个框里会显示??把图片发上来,参考一下罗。 嗯,好吧,我上传这个图
电脑开机后,运行
c:\windows\system32\clsmm.exe /long
弹出个框
会员卡号:123456789191248468(这个数字是18位的身份证号)
如果卡号=18位
则立即结束进程1.exe a.exe a34.exe。
如果进程不存在,等待2分钟,在这2分钟内,如果有其中之一运行,就立即结束,如果以上几个进程全都出现过并结束了,程序退出,如果超时,程序退出。
我的理解是这样。不知是否如此? 把你要开机运行的程序用AU3加到注册表开机启动
会员卡号你没说放在哪里要怎么读
那个判断倒是可以
$i=0
while $i<=120
if processexit("1.exe") then processclose("1.exe")
if processexit("a.exe") then processclose("a.exe")
if processexit("a34.exe") then processclose("a34.exe")
sleep(1000)
wend
回复 1# 凌菡
如果没有这几个进程,就继续等待2分钟,在这2分钟内,如果有其中的某进程运行,就立即结束(结束某进程吗?),如果以上几个进程全都匹配了(是不是那三个进程都出现过就算全都匹配了?),就立即完全退出(退出那个程序?Au3的程序吗?),如果没有,不做提示,直到2分钟的时候,程序完全退出(Au3的程序吗?)。
很多疑问,不清楚怎么弄啊,另外没有你的那个万象软件,不好判断会员号的18位 本帖最后由 love5173 于 2011-12-31 10:45 编辑
后面的流程都好控制,就是前面的我不知道你匹配的什么,不好给代码
$a=0,$b=0,$c=0
$begin = TimerInit()
while TimerDiff($begin)<60*2*1000
if $a==1 and $b==1 and $c == 1 then exit
if processexit("1.exe") then
processclose("1.exe")
$a=1
endif
if processexit("a.exe") then
processclose("a.exe")
$b=1
endif
if processexit("a34.exe") then
processclose("a34.exe")
$c=1
sleep(500)
endif
$i+=1
wend
嗯。后面那段有人发了,我说说我对前面框框的实现方法和思路:
首先WinGetText 返回窗口文本内容,然后使用StringMid ( "字符串", 起始位置 [, 数量] )
取出卡号。这一段如果会正则的话那就简单多了。StringRegExp ( "字符串", "表达式" [, 标志 ] [, 偏移量 ] ] )
可惜我不会正则,痛苦…… 莫非是除广告? 不好意思,才刚上来,这个,其实,就是网吧里的万象客户端。
回复8楼的:
如果没有这几个进程,就继续等待2分钟,在这2分钟内,如果有其中的某进程运行,就立即结束(结束某进程吗?){我这句的意思是说,在这2分钟内,如果出现1.exe a.exe a34.exe这几个进程里的任意一个,比如,1.exe一出现在进程列表,就结束掉TA},如果以上几个进程全都匹配了(是不是那三个进程都出现过就算全都匹配了?){对,就是如果1.exe a.exe a34.exe这三个都出现了,且都给结束掉了},就立即完全退出(退出那个程序?Au3的程序吗?){就退出的意思是,AU3就用完了,内存里就不需要它驻留了,完全退出AU3,就跟开机没有加载TA一样},如果没有,不做提示,直到2分钟的时候,程序完全退出(Au3的程序吗?)。{对,依然是同前面一样,退出AU3。} 回复6楼的,对,你的理解相当正确,我的意思就是这样的。
电脑开机后,运行
c:\windows\system32\clsmm.exe /long
弹出个框
会员卡号:123456789191248468(这个数字是18位的身份证号)
如果卡号=18位
则立即结束进程1.exe a.exe a34.exe。
如果进程不存在,等待2分钟,在这2分钟内,如果有其中之一运行,就立即结束,如果以上几个进程全都出现过并结束了,程序退出,如果超时,程序退出。
我的理解是这样。不知是否如此? 把你要开机运行的程序用AU3加到注册表开机启动
会员卡号你没说放在哪里要怎么读
那个判断倒是可以
回复7楼,这个依我的理解,只能是在窗口弹出后,用匹配窗口关键字的形式,就是用
WinWaitActive("会员卡号:123456789191248468")
然后,再执行下一语句。
不知可行不? 本帖最后由 半芯蕃茄 于 2012-1-1 14:36 编辑
WinWait("万象网管客户端","会员卡号:",120);超时为2分钟
你一定要获取会员卡号??还是你只想判断万象客户端窗口出现而已?
页:
[1]
2