按键精灵对网页游戏进行后台

2024-12-02 11:42:40
推荐回答(2个)
回答1:

用按键精灵之类的软件,常规方式肯定是不行的。

但是可以考虑曲线救国。。。

使用虚拟机,在虚拟机里面运行按键精灵,然后最小化虚拟机,这样不影响子系统运行。
虚拟机推荐 VM。使用VMplayer就可以了,免费的。
如果安装等,你就网上看资料吧。 10分钟左右能安装好。

如果有必要,你可以用同样的方式开起N个虚拟机,也就是有N台PC在“最小化”阶段给你点击这些网页。

虽然不知道你是点击什么东西,但感觉有点“邪恶”。 。。。。
:)

回答2:

我来试着回答一下 // //这个符号之间的内容是注释,和我的解释。希望楼主能看懂。标题名需要你自己填的。 我会标出来告诉你怎么填。如果不能用可以试一下延迟。后面有详细的解释。
先按照你第一个的
Hwnd = Plugin.Window.Find(0, "标题名")
For 7
Call Plugin.Bkgnd.KeyPress(Hwnd, 38)
Call Plugin.Bkgnd.KeyPress(Hwnd, 40)
Call Plugin.Bkgnd.KeyPress(Hwnd, 90)
Next
第二个的
Hwnd = Plugin.Window.Find(0, "标题名")
For 7
Call Plugin.Bkgnd.KeyPress(Hwnd, 90)
Next
这一段是如何取标题名。打开按键精灵的抓抓,点句柄,点获取,把鼠标放在网页的最上面,再点获取,把当前窗口标题名复制下来,把复制的替换到上面的代码里。OK了。如果不会取标题名就往后看,有很详细的。
如果不用延迟恐怕用不了。后面除了有延迟1秒的代码之外 其他的全是详细的解释如果能用了不看也行。也许能帮你找到原因。

下面是解释可以当废话处理,能用了不需要浪费时间看

以上脚本的想法:让按键精灵通过类名和标题名帮你取你那个网页游戏的句柄,并存入Hwnd中(无论句柄怎么变都没关系,因为每次都帮你取得当前的句柄)然后进行后台操作按键。如果不会,看下面有解释,包括标题名的怎么获得。

如果不需要延迟把这一段跳过和下面的代码。(另外我很奇怪按7次UP键什么的不用延时操作么?如果需要,第一个可以把 Delay 1000 加在第三行和第四行之间,第四行和第五行之间,第五行和第六行之间。第二个加在第二行和第三行之间。也就是延迟一秒进行下一条语句。)
第一个加了延迟的
For 7
Call Plugin.Bkgnd.KeyPress(Hwnd, 38)
Delay 1000
Call Plugin.Bkgnd.KeyPress(Hwnd, 40)
Delay 1000
Call Plugin.Bkgnd.KeyPress(Hwnd, 90)
Delay 1000
Next
第二个加了延迟的
For 7
Call Plugin.Bkgnd.KeyPress(Hwnd, 90)
Delay 1000
Next

楼主说要只针对这个网页游戏。我们这样做,取那个网页游戏的句柄。
需要说明一下,句柄是系统随机分配给每个区域的。也就是你打开那个网页游戏,有一个句柄,当你关了再开又是另一个句柄了。不过没关系,下面我会让按键精灵帮你取句柄,但是还是要自己取第一次把标题名填了。免得每次自己取,而且还得填入脚本应该填的地方。如果你喜欢每次自己取那就把Hwnd = Plugin.Window.Find(类名, "标题名")去掉,把你取到的句柄替换后面所有的Hwnd并且两边加上这个符号'' ''

Hwnd = Plugin.Window.Find(类名, "标题名")
//这个语句的意思是你提供2个参数他给你找句柄。//上面括号里面的是两个参数,分别是要取句柄的那个窗口的和也就是需要你自己填。上面这条语句的 标题名 换成你的那个网页游戏的标题名,类名填数字 0 就可以了,类名填0的话不用加任何符号。注意标题名两边加这个符号'' 是英文的符号,不是中文的标点符号。开头的Hwnd现在储存的就是你那个网页游戏的句柄,你如果不喜欢用Hwnd也可以任意换成其他的,只要后面的Hwnd也换了。再哪个后台操作就靠它了。楼主会问标题名怎么知道?下面来弄标题名。我是用句柄来得出标题名的。问题又来了,句柄还没的出来呀?没错。我们可以用其他方法来得句柄。其实下面这个方法能得到网页的当前句柄,标题名,类名,只不过不会直接填写的脚本里,需要你每次自己得到句柄自己填,很麻烦。之前不是说句柄会变么。我们现在就取当前网页的句柄。下面这样做,按键精灵里有个抓抓,在按键精灵页面的上面。就是抓图的那个工具,楼主应该能找到。打开抓抓,左面分别写着颜色,图像,鼠标,句柄。现在我们点句柄,在里面找 获取 ,获取的快捷键是F8。楼主一看就就会明白。按一下获取(这时鼠标移动到不同区域时,当前窗口句柄,当前句柄类名,当前窗口标题都会变化。但是不用管它)把鼠标放在你那个网页游戏的标题框上,(我也不知道那个叫不叫标题框,反正我就这么叫了。)也就是你能按住左键拖动窗口时的那个区域,就是网页的最上面。(也许你会发现把鼠标放在网页的不同位置句柄会不一样,这就是让你把鼠标放在标题框的原因。注意,这里句柄不一样的原因是相对网页位置不同了引起的变化,而不是我之前所说的句柄每次变的原因。)再按一下 获取。这时候鼠标再动显示的句柄,类名,标题就都不变化了(因为为了方便你记录所以定格了,所以才不变了。)把当前窗口标题复制下来。还记得上面出现过的这个么? Hwnd = Plugin.Window.Find(类名, "标题名")
把标题名三个字替换成你刚才复制的。把类名两个字替换成 0 (不是字母O 是数字0)。句柄取完了。下面说按那几个键。复制就行了没有自己填的。
Call Plugin.Bkgnd.KeyPress(Hwnd, 38)
Call Plugin.Bkgnd.KeyPress(Hwnd, 40)
Call Plugin.Bkgnd.KeyPress(Hwnd, 90)
//上面括号里面的是2个参数,其中Hwnd你的那个网页游戏的句柄,数字是你要按的UP DOWN 和Z键的虚拟码。//

如果怎么得也用不了请看这里。上面说句柄是系统随机分配给每个区域的。比如说,你打开那个网页游戏,有一个句柄,当你关了再开又是另一个句柄了。同一窗口的不同区域句柄也可能是不一样的。如果怎么得也用不了可能是句柄取错了。记得怎么用抓抓取那个标题名吧。不把鼠标放在标题栏上,放在网页其他区域取标题名,替换上去试试。希望你能满意。