rwxyxy 发表于 2009-3-31 10:14:20

关于WinSetOnTop的问题,请大虾帮忙解释一下!

Dim $XLPath
$XLPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Thunder Network\ThunderOem\thunder_backwnd","Path")
Run($XLPath,"",@SW_MAXIMIZE)
Sleep(15000)
Opt("WinTitleMatchMode",3)
WinSetOnTop("迅雷5","",1)
上段代码为什么不能至顶迅雷5?
而以下代码就可以,多了一句激活功能,难道WinSetOnTop只能对激活态窗口才能生效吗?
是在启动迅雷5后,切换到了其他窗口下,不能置顶的问题。
Dim $XLPath
$XLPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Thunder Network\ThunderOem\thunder_backwnd","Path")
Run($XLPath,"",@SW_MAXIMIZE)
Sleep(20000)
Opt("WinTitleMatchMode",3)
WinActivate("迅雷5")
WinSetOnTop("迅雷5","",1)

[ 本帖最后由 rwxyxy 于 2009-4-17 14:29 编辑 ]

rwxyxy 发表于 2009-3-31 10:54:58

补充说明,是在启动迅雷5后,切换到了其他窗口下,不能置顶的问题!

sxd 发表于 2009-3-31 22:47:42

...不WinActivate("迅雷5")
是不能置顶

WinActivate("迅雷5")
成功置顶过一次后
不用WinActivate("迅雷5")
也能普通的置顶

不清楚..

ceoguang 发表于 2009-3-31 23:06:11

如果不想激活窗口,那么可以通过窗口来获取句柄,然后

_WinAPI_SetWindowPos($hWnd, $hAfter, $iX, $iY, $iCX, $iCY, $iFlags)

rwxyxy 发表于 2009-4-9 14:50:02

可否举个例子说明白点...
谢谢!!!

lnlyf 发表于 2011-11-27 08:21:59

置顶后,怎么取消置顶呢,要不会一直在前面

whuzqAI 发表于 2012-8-11 00:01:07

同样的问题啊,为什么要激活才可以用啊。
页: [1]
查看完整版本: 关于WinSetOnTop的问题,请大虾帮忙解释一下!