按键精灵,使用后台语句,依然需要窗口激活
我写一个简单的按键精灵后台语句,如下Hwnd=Plugin.Window.Foreground()dowhile1=1CallPlugin.Bkgnd.KeyPress(...
我写一个简单的按键精灵后台语句,如下
Hwnd = Plugin.Window.Foreground()
do while 1=1
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
loop
49是按键1。
为了测试,我开了个一个游戏窗口和一个记事本。我在激活的游戏窗口按键开始运行脚本,游戏窗口激活状态的时候可以按1,有动作显示;然后我激活了记事本,两边都没有按1,游戏没有动作显示,记事本也没有1;再激活游戏窗口,又有动作显示在按1了。
只能来问问怎么回事了,希望有人知道。。 展开
Hwnd = Plugin.Window.Foreground()
do while 1=1
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
loop
49是按键1。
为了测试,我开了个一个游戏窗口和一个记事本。我在激活的游戏窗口按键开始运行脚本,游戏窗口激活状态的时候可以按1,有动作显示;然后我激活了记事本,两边都没有按1,游戏没有动作显示,记事本也没有1;再激活游戏窗口,又有动作显示在按1了。
只能来问问怎么回事了,希望有人知道。。 展开
展开全部
对于你把记事本不激活的时候它按键没用可能是因为你发送KeyPress是记事本主句柄而不是里面的Edit子句柄,记事本里面是Edit的这个句柄来获得按键输入的,所以你把Hwnd换成记事本里面的Edit窗口句柄就行了。我估计游戏也是这样的原因,因为我没这个游戏也无法具体调试,但记事本是这样没错,我调试过的。
获得Edit句柄按键精灵代码参考:
notepadMainHwnd = Plugin.Window.Find("notepad",0)
notepadEditClassHwnd = Plugin.Window.FindEx(notepadMainHwnd, 0, "Edit", 0)
TracePrint notepadEditClassHwnd
//这个notepadEditClassHwnd变量就是了
求采纳,,我也找原因好久。。
更多追问追答
追问
我用了你的这个代码,但是依然不能在后台进行输入。
我前面自己写的代码,可以在记事本进行循环但是不可以在游戏窗口循环。
追答
我都给你解释原因了,还有我的代码只是获取记事本Edit的句柄不是用来实现输入的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询