易语言如何取进程的窗口标题
我想做个软件就是知道天龙八部的进程用易语言自动取它的窗口句柄而不是用什么彗星小助手这类的软件要自动哦...
我想做个软件 就是知道天龙八部的进程 用易语言 自动取它的窗口句柄 而不是用什么彗星小助手 这类的软件 要自动哦
展开
展开全部
要自动的话直接超级模块里的取句柄(进程)即可
但有些东西没办法进行自动,准只能靠匹配下标或者根据窗口的类型信息来获取如标题,类名,或者窗口所对的那个进程是什么
我这里举两个关于怎么取窗口的例子,我个人推荐是不要什么自动的,要人工前期获取,并后期绝对的方式来获取到
方法1,取所有窗口列表()这个易语言自带有,然后根据取这个窗口所对应的进程进行判断即可取得
方法2,枚举所有关于某进程名的进程pid,然后再枚举进程内所有父级窗口然后逐一进行筛选(根据事先使用彗星小助手等工具取得下标或窗口类名)匹配,得到窗口结果即可
但有些东西没办法进行自动,准只能靠匹配下标或者根据窗口的类型信息来获取如标题,类名,或者窗口所对的那个进程是什么
我这里举两个关于怎么取窗口的例子,我个人推荐是不要什么自动的,要人工前期获取,并后期绝对的方式来获取到
方法1,取所有窗口列表()这个易语言自带有,然后根据取这个窗口所对应的进程进行判断即可取得
方法2,枚举所有关于某进程名的进程pid,然后再枚举进程内所有父级窗口然后逐一进行筛选(根据事先使用彗星小助手等工具取得下标或窗口类名)匹配,得到窗口结果即可
展开全部
用精易模块可以实现:
1、.子程序 进程_名取ID, 整数型, 公开, 通过进程名取进程ID;失败返回0
.参数 进程名, 文本型, , 取要进程ID的进程名
.参数 是否区分大小写, 逻辑型, 可空 , 默认为不区分,真=区分
2、.子程序 进程_ID取窗口句柄, 整数型, 公开, 通过进程ID取得该进程的窗口句柄
.参数 进程ID, 整数型, , 该进程的ID;
3、.子程序 窗口_取标题, 文本型, 公开,
.参数 窗口句柄, 整数型, ,
1、.子程序 进程_名取ID, 整数型, 公开, 通过进程名取进程ID;失败返回0
.参数 进程名, 文本型, , 取要进程ID的进程名
.参数 是否区分大小写, 逻辑型, 可空 , 默认为不区分,真=区分
2、.子程序 进程_ID取窗口句柄, 整数型, 公开, 通过进程ID取得该进程的窗口句柄
.参数 进程ID, 整数型, , 该进程的ID;
3、.子程序 窗口_取标题, 文本型, 公开,
.参数 窗口句柄, 整数型, ,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-27
展开全部
首先根据进程名取PID(进程标识符)
下面是所用的API
.版本 2
.DLL命令 GetAncestor, 整数型, "user32.dll", "GetAncestor", ,
.参数 hwnd, 整数型
.参数 gaFlags, 整数型
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId"
.参数 hwnd, 整数型
.参数 lpdwProcessId, 整数型, 传址
.DLL命令 EnumWindows, 整数型, "user32.dll", "EnumWindows"
.参数 lpEnumFunc, 子程序指针
.参数 lParam, 整数型, 传址
下面是子程序
调用:进程标示取窗口句柄("这里写PID")
.版本 2
.子程序 进程标示取窗口句柄, 整数型
.参数 进程标示符, 整数型
EnumWindows (&EnumWindowsProc, 进程标示符)
返回 (进程标示符)
.子程序 EnumWindowsProc, 整数型
.参数 hwnd, 整数型
.参数 lParam, 整数型, 参考
.局部变量 lpPid, 整数型
.局部变量 oldPid, 整数型, 静态
.如果真 (oldPid = 0)
oldPid = lParam
.如果真结束
GetWindowThreadProcessId (hwnd, lpPid)
.如果 (lpPid = oldPid)
lParam = GetAncestor (hwnd, #GA_ROOTOWNER)
返回 (0)
.否则
lParam = 0
返回 (1)
.如果结束
下面是所用的API
.版本 2
.DLL命令 GetAncestor, 整数型, "user32.dll", "GetAncestor", ,
.参数 hwnd, 整数型
.参数 gaFlags, 整数型
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId"
.参数 hwnd, 整数型
.参数 lpdwProcessId, 整数型, 传址
.DLL命令 EnumWindows, 整数型, "user32.dll", "EnumWindows"
.参数 lpEnumFunc, 子程序指针
.参数 lParam, 整数型, 传址
下面是子程序
调用:进程标示取窗口句柄("这里写PID")
.版本 2
.子程序 进程标示取窗口句柄, 整数型
.参数 进程标示符, 整数型
EnumWindows (&EnumWindowsProc, 进程标示符)
返回 (进程标示符)
.子程序 EnumWindowsProc, 整数型
.参数 hwnd, 整数型
.参数 lParam, 整数型, 参考
.局部变量 lpPid, 整数型
.局部变量 oldPid, 整数型, 静态
.如果真 (oldPid = 0)
oldPid = lParam
.如果真结束
GetWindowThreadProcessId (hwnd, lpPid)
.如果 (lpPid = oldPid)
lParam = GetAncestor (hwnd, #GA_ROOTOWNER)
返回 (0)
.否则
lParam = 0
返回 (1)
.如果结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-27
展开全部
取窗口句柄吗? 添加API: .版本 2.DLL命令 _取窗口句柄, 整数型, "user32.dll", "FindWindowA"
.参数 窗口类名, 文本型
.参数 窗口标题, 文本型
代码:.版本 2
.支持库 spec.子程序 __启动窗口_创建完毕
.局部变量 窗口类名, 文本型
.局部变量 窗口标题, 文本型调试输出 (_取窗口句柄 (窗口类名, 窗口标题))
.参数 窗口类名, 文本型
.参数 窗口标题, 文本型
代码:.版本 2
.支持库 spec.子程序 __启动窗口_创建完毕
.局部变量 窗口类名, 文本型
.局部变量 窗口标题, 文本型调试输出 (_取窗口句柄 (窗口类名, 窗口标题))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-27
展开全部
你还不是要先用SPY取得类名先 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询