按键精灵运行多线程脚本卡

按键精灵运行多线程脚本卡,第1张

看样子是逻辑混乱或者没有循环代码,回头给你看看,我先洗澡。

我刚刚简单测试了下,貌似没问题啊,并不会卡死

另外你说的功能其实不用多线程的,或者说一个子程序或主程序就能达成

单线程版:

BeginThread a

Do

    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 300

    KeyPress "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脚本中运行多个程序,但是在窗口里选择运行其中一个或者多个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10638486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存