|
如果想要针对一个窗口进行操作,那么必定要知道这个窗口句柄如果按术语方式来解释:句柄是一个系统内部数据结构的引用
句柄表示:
窗口句柄:Hwnd
对象句柄: Handle
窗口特性:
1、随机性:每打开一次窗口就会产生一个随机的句柄
2、独立性:顶级窗口都是独立的
3、可继承:顶级窗口、子窗口、父窗口
4、名称:有标题名或类名,类名是肯定要有的
大漠插件查找窗口句柄例程
findwindow一般用来查找顶级窗口句柄.里面两个参数一个是标题.一个是类名.
大漠.FindWindowEx (, , ) 查找子窗口句柄 .里面一个参数是父句柄.一个是类名.一个是标题
3.FindWindowSuper 可以理解为超级查找窗口句柄
函数简介: 根据两组设定条件来查找指定窗口.
函数原型:
long FindWindowSuper(spec1,flag1,type1,spec2,flag2,type2)
参数定义:
spec1 字符串: 查找串1. (内容取决于flag1的值)
flag1整形数: 取值如下:
0表示spec1的内容是标题
1表示spec1的内容是程序名字. (比如notepad)
2表示spec1的内容是类名
3表示spec1的内容是程序路径.(不包含盘符,比如\windows\system32)
4表示spec1的内容是父句柄.(十进制表达的串)
5表示spec1的内容是父窗口标题
6表示spec1的内容是父窗口类名
7表示spec1的内容是顶级窗口句柄.(十进制表达的串)
8表示spec1的内容是顶级窗口标题
9表示spec1的内容是顶级窗口类名
type1 整形数: 取值如下
0精确判断 1模糊判断 spec2 字符串: 查找串2. (内容取决于flag2的值)
flag2 整形数: 取值如下:
0表示spec2的内容是标题
1表示spec2的内容是程序名字. (比如notepad)
2表示spec2的内容是类名
3表示spec2的内容是程序路径.(不包含盘符,比如\windows\system32)
4表示spec2的内容是父句柄.(十进制表达的串)
5表示spec2的内容是父窗口标题
6表示spec2的内容是父窗口类名
7表示spec2的内容是顶级窗口句柄.(十进制表达的串)
8表示spec2的内容是顶级窗口标题
9表示spec2的内容是顶级窗口类名
type2 整形数: 取值如下
0精确判断 1模糊判断 返回值:
整形数:函数简介:
根据指定的进程名字,来查找可见窗口.
函数原型:
long FindWindowByProcess(process_name,class,title)
参数定义:
process_name 字符串: 进程名. 比如(notepad.exe).这里是精确匹配,但不区分大小写.
class 字符串: 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.
title 字符串: 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.
返回值:
整形数:
整形数表示的窗口句柄,没找到返回0
示例:
hwnd = dm.FindWindowByProcess("noteapd.exe","","记事本")
整形数表示的窗口句柄,没找到返回0
示例:
hwnd = dm.FindWindowSuper("记事本",0,1,"notepad",1,0)
4FindWindowByProcessID
函数简介: 根据指定的进程Id,来查找可见窗口.
函数原型:
long FindWindowByProcessId(process_id,class,title)
参数定义:
process_id 整形数: 进程id.
class 字符串: 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.
title 字符串: 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.
返回值:
整形数:
整形数表示的窗口句柄,没找到返回0
函数简介: 根据指定的进程名字,来查找可见窗口.
函数原型:
long FindWindowByProcess(process_name,class,title)
参数定义:
process_name 字符串: 进程名. 比如(notepad.exe).这里是精确匹配,但不区分大小写.
class 字符串: 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.
title 字符串: 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.
返回值:
整形数:
整形数表示的窗口句柄,没找到返回0
示例:
hwnd = dm.FindWindowByProcess("noteapd.exe","","记事本")
示例:
hwnd = dm.FindWindowByProcessId(123456,"","记事本")
FindWindowByProcess
|
|