TC官方合作论坛
标题:
求助 系统.枚举 检测进程句柄得不到正确的句柄
[打印本页]
作者:
猫熊
时间:
2013-8-10 15:11
标题:
求助 系统.枚举 检测进程句柄得不到正确的句柄
如题
使用系统.枚举
老是检测不到 进程句柄.高手帮我看看是不是我用错了 .
空间 te44
//默认空间
整型 程序句柄,顶程序句柄
功能 检测程序句柄()//枚举检测进程名
程序句柄=系统.枚举("notepad.exe",2)
顶程序句柄=窗口.顶层窗口句柄()
功能结束
功能 开始_点击()
te44.检测程序句柄()
辅助.消息框("记事本句柄"&程序句柄&",顶程序句柄"&顶程序句柄)
窗口.最大化(程序句柄)
窗口.置顶(程序句柄,真)
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
空间结束
//空间结束语句
作者:
猫熊
时间:
2013-8-10 15:17
这个是帮助里面的,我贴出来了,
name: 名称(根据类型来提供,比如模式0:需要的就是窗口标题(如:计算器,注意有些窗口没有窗口名) 1:类名(通过AB抓抓或者窗口返回类名等函数获取,注意有些窗口没有类名) 2:进程名(通过任务管理器中查看得到,如"QQ.exe","YY.exe")
type:
0: 窗口名枚举窗口句柄
1: 类名枚举窗口句柄
2: 进程名枚举进程句柄
3: 父窗口句柄枚举子窗口句柄 (参数1为空串,如系统.枚举("",3)将以桌面句柄为父窗口句柄)
应为记事本之类的有时候窗口标题不一样,所以才用了进程名检测.
作者:
187144831
时间:
2013-8-10 15:26
回复
2楼
猫熊
的帖子
你是如何判定没有枚举到呢?
消息框 无内容?
我复制你的代码 获取到了句柄
只是最大化和置顶无效而已
作者:
猫熊
时间:
2013-8-10 15:33
谢谢187144831帮忙,
我运行程序发现,记事本的句柄每一次都是480左右,有时候是478.
[attach]10561[/attach]
作者:
猫熊
时间:
2013-8-10 15:36
回复
3楼
187144831
的帖子
再次运行,句柄会依次+4.
我很是迷茫呀.
我用的是64位win7不知道和这个有原因没有
作者:
498518599
时间:
2013-8-10 16:39
我一般用3
作者:
猫熊
时间:
2013-8-10 16:46
我一般用3
498518599 发表于 2013-8-10 16:39:44
3: 父窗口句柄枚举子窗口句柄 (参数1为空串,如系统.枚举("",3)将以桌面句柄为父窗口句柄)
这个看不懂,不会用,能举个例子吗?谢谢了.
其实我就是对记事本程序操作,有时候记事本打开文件了,标题会改变要不我就根据窗口名找了.
不知道有什么好的方法没有?
作者:
猫熊
时间:
2013-8-10 18:08
刚去虚拟机里试了一下,xp的系统还是不行.
作者:
498518599
时间:
2013-8-11 00:42
那你就枚举进程
作者:
猫熊
时间:
2013-8-12 15:46
回复
9楼
498518599
的帖子
我就是用的枚举进程呀!
程序句柄=系统.枚举("notepad.exe",2)
得到的句柄老是480,很是奇怪的.
作者:
猫熊
时间:
2013-8-12 16:56
知道问题所在了.这么简单的一个问题就是没有人告诉.看来不花钱就是没有人说呀.
错误就在与 定义的整型的变量接收枚举的值,枚举出来的数值是字符型,我没有转换,也怪我没有仔细看调试输出窗口的变量类型.
整型接收字符型数值他也不提示错误,怪我不仔细呀.
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1