找回密码
 加入
搜索
查看: 4199|回复: 10

[AU3基础] (已解决)如何获取当前窗口激活的程序?

  [复制链接]
发表于 2010-7-19 09:43:53 | 显示全部楼层 |阅读模式
本帖最后由 yarsye 于 2010-7-27 16:11 编辑

有一些可以置顶的程序,当send (“#d”)显示桌面后,这些程序仍然在桌面上,但不是被激活的状态了,想获得当前仍然在桌面上的程序名。下面是我的方法 试了 行不通 ,准确率不高,望高手指点。
#include<WinAPI.au3>
sleep(2000)
send("#d")
$a=winGetTitle(_WinAPI_GetForegroundWindow());准确说并没有获得当前桌面上的程序名
sleep(200)
msgbox(0,"2",$a);此时$a显示为空
;winActivate($a)
发表于 2010-7-19 10:53:06 | 显示全部楼层
_WinAPI_GetForegroundWindow()返回的是窗体句柄,wingettitle好像不能用这个做参数
 楼主| 发表于 2010-7-19 11:33:53 | 显示全部楼层
回复 2# netegg
_WinAPI_GetForegroundWindow()返回的是窗体句柄
好像不能返回没被激活的窗口句柄
不过我用_winAPI_FindWindow()可以实现我想要的功能

感谢您的回复
发表于 2010-9-8 17:50:59 | 显示全部楼层
能说的明白点不??
 楼主| 发表于 2010-9-9 08:15:21 | 显示全部楼层
_winAPI_FindWindow()在winapi。au3函数中 调用可以实现所要功能
发表于 2010-9-9 08:22:01 | 显示全部楼层
没看明白,还能讲清楚点不~~~
 楼主| 发表于 2010-9-9 08:38:07 | 显示全部楼层
         $Win_Activate_Name=_WinAPI_FindWindow("#32770", "Name")
If WinGetTitle($Win_Activate_Name)="Name" Then  ;if the currect active window is the name you want then
在我代码中 我是这样使用的

不知仁兄还有那块不清楚 大家一起学习
发表于 2011-8-26 23:31:11 | 显示全部楼层
有些Window怎么就是Find 不到。。。。
发表于 2011-8-28 00:23:12 | 显示全部楼层
顶起来,受教了,支持支持




























祛斑产品排行榜
 楼主| 发表于 2011-10-11 12:57:40 | 显示全部楼层
谢谢支持 呵呵
发表于 2017-7-5 02:32:16 | 显示全部楼层
留個腳印 macgyver
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 00:53 , Processed in 0.074250 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表