当前位置:   article > 正文

在按键精灵里使用奥迦插件查找和枚举窗口句柄

奥迦插件

在按键精灵里使用奥迦插件查找和枚举窗口句柄的条件有:父窗口句柄,进程名称,进程ID,窗口类名,窗口标题,进程路径,父窗口句柄,父窗口类名,父窗口标题,顶层窗口句柄,顶层窗口类名,顶层窗口标题 .
下面先创建对象,只有成功的创建了对象才能调用插件的函数:

        Public Declare Function SetDllPathW Lib "C:\Users\Administrator\Desktop\AJ\ARegJ.dll" Alias "SetDllPathW" (ByVal DllPath As String, ByVal Type As Long) As Long
        RD = SetDllPathW("C:\Users\Administrator\Desktop\AJ\AoJia.dll", 0) : TracePrint RD
        Set AJ = CreateObject("AoJia.AoJiaD")
        AJD = AJ.VerS() : TracePrint AJD
        AJD = AJ.RegD("0123456789abcdeffedcba98765432100123456789abcdeffedcba9876543210", 0)
  • 1
  • 2
  • 3
  • 4
  • 5

对于函数FindWindow,可以指定父窗口句柄,进程名称,进程ID,窗口类名,窗口标题这些查找条件的一个或多个,如果想查找得准确点就需要多设置几个查找条件.这个函数只返回一个窗口句柄,对于一些类名和标题容易变化的窗口要充分使用Type参数.
函数FindWindow的说明
下面是函数FindWindow的一些调用示例:

Hwnd = AJ.FindWindow(0, "", 0, "", "", 0, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "notepad.exe", 0, "", "记事本", 0, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "", 19240, "Notepad", "", 0, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "", 0, "", "记事本", 0, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "", 0, "Notepad", "记事本", 1, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "", 19240, "Notepad", "记事本", 1, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindow(0, "notepad.exe", 19240, "Notepad", "记事本", 1, 0) : TracePrint "Hwnd-->" & Hwnd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

EnumWindow函数的匹配匹配条件和FindWindow差不多,FindWindow只返回第一个找到的条件匹配的窗口句柄,EnumWindow则返回所有符合条件的窗口句柄.FindWindow只能查找可见窗口的句柄,而EnumWindow还可以枚举所有不可见的窗口句柄.
函数EnumWindow的说明
下面是函数EnumWindow的一些调用示例:

HwndA = AJ.EnumWindow(0, "", 0, "", "", 0, 1 + 2, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "notepad.exe", 0, "", "记事本", 0, 1 + 2, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "", 19240, "Notepad", "", 0, 1 + 2 + 4, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "", 0, "", "记事本", 0, 1 + 2 + 4, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "", 0, "Notepad", "记事本", 1, 1 + 2 + 4, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "", 19240, "Notepad", "记事本", 1, 2 + 4 + 8, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindow(0, "notepad.exe", 19240, "Notepad", "记事本", 1, 0, 0) : TracePrint "HwndA-->" & HwndA
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

FindWindowEx函数和EnumWindowEx函数能设置更多的匹配条件,如果FindWindow和EnumWindow不能满足需求的时候可以使用它们
FindWindowEx函数的说明
EnumWindowEx函数的说明
FindWindowEx函数的调用示例:

Hwnd = AJ.FindWindowEx("Notepad", 2, 0, "记事本", 3, 1, "notepad.exe", 0, 0, 1, 0) : TracePrint "Hwnd-->" & Hwnd
Hwnd = AJ.FindWindowEx("Edit", 2, 0, "记事本", 7, 1, "notepad.exe", 0, 0, 1, 0) : TracePrint "Hwnd-->" & Hwnd
  • 1
  • 2

EnumWindowEx函数的调用示例:

HwndA = AJ.EnumWindowEx("Notepad", 2, 0, "记事本", 3, 1, "notepad.exe", 0, 0, 1, 0, 0) : TracePrint "HwndA-->" & HwndA
HwndA = AJ.EnumWindowEx("Edit", 2, 0, "记事本", 7, 1, "notepad.exe", 0, 0, 0, 1, 0) : TracePrint "HwndA-->" & HwndA
  • 1
  • 2

奥迦插件的下载地址是: http://www.aojiad.top/aojia.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/236601
推荐阅读
相关标签
  

闽ICP备14008679号