简单点说吧。以记事本为例,要实现按键1需要找子窗口句柄,用语句:
//得到鼠标指向的窗口句柄
Hwnd = Plugin.Window.MousePoint()
当然你需要事先把鼠标放到记事本客户区内。如果你放到了标题栏那里,它得到的就是父窗口的句柄,那么下面针对客户区的命令就无法实现。
后台无限按1的完整命令:
//得到鼠标指向的窗口句柄
Hwnd = Plugin.Window.MousePoint()
Do//无限循环开始
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)//按键1
Delay 100//延时
Loop//
不懂再追问
Rem cx
Hwnd = Plugin.Window.Find("Notepad", 0)
If len(Hwnd) < 4 Then
Call RunApp("notepad.exe")
Delay 1500
Goto cx
End If
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "Edit", 0)
Do
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
Delay 100
Loop
窗口句柄是每一次数值不一样的
比如你现在的句柄是123456 那当你把文本文档关掉重新打开 那就可能变成234567 (每一次句柄数值都不一样)
父窗口就是文本文档整个窗口(包括标题、边框、和纵多子窗口)
拿文本文档这一例来说 :父窗口=标题+边框+子窗口(整个空白区)
如果你想要获得父窗口的话 用下面这代码就能实现
Hwnd = Plugin.Window.Find(窗口类名, "你要获取的窗口标题自己填写")
这一步获取到的是父窗口 并不能操作 我们就要根据父窗口来查找可操作的子窗口
Hwnds = Plugin.Window.FindEx(父窗口句柄, 子窗口句柄 "子窗口类名", 匹配标题)
得到子窗口句柄就能进行操作了
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
这句话是向子窗口按1键
全部的流程 给你梳理一遍
================================================
Hwnd = Plugin.Window.Find("Notepad", 0)
Hwnds = Plugin.Window.FindEx(Hwnd, 0, "Edit", 0)
do
delay 100
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
loop
============================================
另一种是直接用鼠标获取
==============================================
Hwnd = Plugin.Window.MousePoint()
do
delay 100
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
loop
============================================
太简单了,本尊不屑回答。