看样子是逻辑混乱或者没有循环代码,回头给你看看,我先洗澡。
我刚刚简单测试了下,貌似没问题啊,并不会卡死
另外你说的功能其实不用多线程的,或者说一个子程序或主程序就能达成
单线程版:
BeginThread aDo
Delay 1000
Loop
Sub a
For 300
KeyPress "E", 1
Next
KeyDown "W", 1
Delay 1000
KeyUp "W", 1
Delay 500
KeyDown "S", 1
Delay 1000
KeyUp "S", 1
End Sub
主程序版:
For 300KeyPress "E", 1
Next
KeyDown "W", 1
Delay 1000
KeyUp "W", 1
Delay 500
KeyDown "S", 1
Delay 1000
KeyUp "S", 1
你的代码是不是这样的?
@echo off
1exe
2pdf
3exe
4msi
5pdf
exit
这样会形成关联的,用start调用就不会出现这样的问题了。
@echo off
start "" "1exe"
start "" "2pdf"
start "" "3exe"
start "" "4msi"
start "" "5pdf"
exit
dim a
set ms=createobject("wscriptshell")
a=inputbox("a = 记事本"+chr(13)+"b = 命令行提示符","请输入","a")
if a="a" then
msrun "notepadexe"
else if a="b" then
msrun "cmdexe"
end if
end if
Hwnd = PluginWindowMousePoint()
MessageBox "1"
Hwnd1 = PluginWindowMousePoint()
MessageBox "2"
Hwnd2 = PluginWindowMousePoint()
Rem a
For 30
Call PluginBkgndKeyPress(Hwnd, 9)//table
Call PluginBkgndKeyPress(Hwnd1, 9)
Call PluginBkgndKeyPress(Hwnd2, 9)
Call PluginBkgndKeyPress(Hwnd, 49)//1
Call PluginBkgndKeyPress(Hwnd1, 49)
Call PluginBkgndKeyPress(Hwnd2, 49)
Call PluginBkgndKeyPress(Hwnd, 50)//2
Call PluginBkgndKeyPress(Hwnd1, 50)
Call PluginBkgndKeyPress(Hwnd2, 50)
Call PluginBkgndKeyPress(Hwnd, 51)//3
Call PluginBkgndKeyPress(Hwnd1, 51)
Call PluginBkgndKeyPress(Hwnd2, 51)
Call PluginBkgndKeyPress(Hwnd, 52)//4
Call PluginBkgndKeyPress(Hwnd1, 52)
Call PluginBkgndKeyPress(Hwnd2, 52)
Next
大概就这意思。。。
后缀改为vbs就可以双击运行了。
脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算 *** 作动作的组合,在其中可以实现一定的逻辑分支等。
脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制。
现在的脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。
脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。
脚本可以存为后缀名为cfg的文件放在cstrike文件夹下,执行时在控制台输入:exec (脚本文件名)cfg 即可。比如将一个脚本存为buyscfg文件,则在控制台中输入:exec buyscfg则可以实现我们所需要的功能。要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。
脚本�(Script), 是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。举个最常见的例子,当我们点击网页上的E-mail地址时能自动调用OutlookExpress或Foxmail这类邮件软件,就是通过脚本功能来实现的。又如洪恩网站�>
1
如果是开机马上执行的脚本,可以将脚本写到rclocal中;
2
如果是用户登录后自动执行脚本,可以将脚本写到相应的用户目录下“~/bash_profile”,若脚本“~/bash_profile”不存在,可以直接拷贝“/etc/profile”命名为“~/bash_profile”;
3
如果是要任一用户登录后自动执行脚本,可以将脚本写到“/etc/profile”中。
第一步:准备好用于输入的文件listtxt,每次一行,形如:
20
100
"data1txt"
20
100
"data2txt"
保存为listtxt
注意,如果运行100次,每次输入3回,则listtxt应有300行。(输入内容有规律的话,也可以用批处理生成listtxt)
第二步:
(1)如果AAexe本身是命令行程序的话,批处理文件abat这样写就可以了:
@echo off
(for /l %%i in (1,1,100) do AAexe)<listtxt
(2)如果AAexe是带有图形界面的程序的话,那就有点复杂了。我能想到的就是模拟按键输入,不知道还有没有其他好的方法。批处理文件abat如下:
@echo off
set cnt=100
set num=3
set "title=输入提示"
set time1=2
set time2=3
(for /l %%i in (1,1,%cnt%) do (
start "" AAexe
ping -n %time1% 1271 >nul
for /l %%j in (1,1,%num%) do (
set /p str=
setlocal enabledelayedexpansion
set "str=!str:"=""!"
mshta vbscript:clipboarddatasetdata("text","!str!"^)(close^)
endlocal
mshta vbscript:execute("documentwrite:With CreateObject(""Wscriptshell""):AppActivate(""%title%""):sendkeys(""^v~""):end with:selfclose"^)
ping -n %time2% 1271 >nul
)))<listtxt
exit
说明:
第二行cnt的值100:AAexe要循环运行的次数。
第三行num的值3:AAexe运行后会的输入次数。
第四行title的值"窗口标题":输入提示窗口的标题内容。这个是关键!如果提示窗口每次都不一样的话,这个批处理还需要修改一下。
第五行time1的值2:AAexe启动完成所需的秒数。
第六行time2的值3:输入提示窗口相隔的秒数,最小为3。
以上就是关于按键精灵运行多线程脚本卡全部的内容,包括:按键精灵运行多线程脚本卡、bat脚本为什么没办法一次运行多个程序、怎么在VBS脚本中运行多个程序,但是在窗口里选择运行其中一个或者多个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)