yarsye 发表于 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)

netegg 发表于 2010-7-19 10:53:06

_WinAPI_GetForegroundWindow()返回的是窗体句柄,wingettitle好像不能用这个做参数

yarsye 发表于 2010-7-19 11:33:53

回复 2# netegg
_WinAPI_GetForegroundWindow()返回的是窗体句柄
好像不能返回没被激活的窗口句柄
不过我用_winAPI_FindWindow()可以实现我想要的功能

感谢您的回复

My2009 发表于 2010-9-8 17:50:59

能说的明白点不??

yarsye 发表于 2010-9-9 08:15:21

_winAPI_FindWindow()在winapi。au3函数中 调用可以实现所要功能

dxddxd_110 发表于 2010-9-9 08:22:01

没看明白,还能讲清楚点不~~~

yarsye 发表于 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在我代码中 我是这样使用的

不知仁兄还有那块不清楚 大家一起学习

dkt 发表于 2011-8-26 23:31:11

有些Window怎么就是Find 不到。。。。

gmzlmxm 发表于 2011-8-28 00:23:12

顶起来,受教了,http://www.pgpop.com/image/face1.gif支持支持



























http://bbs.hangzhou.com.cn/images/default/sigline.gif
祛斑产品排行榜

yarsye 发表于 2011-10-11 12:57:40

谢谢支持 呵呵

kk_lee69 发表于 2017-7-5 02:32:16

留個腳印 macgyver
页: [1]
查看完整版本: (已解决)如何获取当前窗口激活的程序?