|
楼主 |
发表于 2011-9-8 22:16:12
|
显示全部楼层
福建省福州市
又有新问题了我用循环找出所有窗口进程在通过比对,找出句柄,现在打开word 出现两个句柄怎么办?????还有如果同时有两个WORD窗口打开,也会不止有一个句柄,怎么办
以下是程序草稿,前辈帮我看看能精确获得外部程序打开窗口句柄吗
.版本 2
.支持库 eAPI
.支持库 spec
.子程序 取进程窗口句柄
.参数 在运行中路径, 文本型
.局部变量 a, 整数型
.局部变量 b, 文本型
.局部变量 进程, 进程信息, , "0"
.局部变量 n1, 整数型
.局部变量 进程ID, 整数型
.局部变量 句柄组, 文本型, , "0"
.局部变量 n2, 整数型
.局部变量 pid, 整数型
.局部变量 文本, 文本型
a = 倒找文本 (在运行中路径, “\”, , 假)
b = 取文本右边 (在运行中路径, 取文本长度 (在运行中路径) - a)
调试输出 (b)
进程 = 取系统进程列表 ()
' 调试输出 (进程)
.计次循环首 (取数组成员数 (进程), n1)
' 调试输出 (进程 [n1].进程名称)
.如果 (文本比较 (进程 [n1].进程名称, b, 假) = 0)
' 调试输出 (进程 [n1].进程名称)
进程ID = 进程 [n1].进程标识符
' 调试输出 (进程 [n1].进程标识符)
' 调试输出 (句柄组)
.否则
.如果结束
.计次循环尾 ()
' 调试输出 (进程ID)
句柄组 = 取所有窗口列表 ()
.计次循环首 (取数组成员数 (句柄组), n2)
' 调试输出 (取数组成员数 (句柄组))
取进程线程标识符_ (到整数 (句柄组 [n2]), pid)
' 调试输出 (pid)
' 调试输出 (进程ID)
.如果 (pid = 进程ID)
' 调试输出 (句柄组 [n2])
' ' 调试输出 (pid)
文本 = 取窗口标题 (到整数 (句柄组 [n2]))
' 调试输出 (文本)
加入成员 (运行程序句柄, 到整数 (句柄组 [n2]))
调试输出 (句柄组 [n2])
' ' 调试输出 (运行程序句柄 [运行程序句柄数 + 1])
.否则
.如果结束
.计次循环尾 ()
调试输出 (取数组成员数 (运行程序句柄))
|
|