找回密码
 加入
搜索
查看: 1920|回复: 6

怎样生成置顶可见,但是不是激活的窗口

[复制链接]
发表于 2008-12-16 13:45:03 | 显示全部楼层 |阅读模式
怎样生成置顶可见,但是不是激活的窗口
如下面这个报时,报时的时候就会把报时的窗口激活,原来在工作的程序 比如 QQ聊天窗,失去激活影响使用了
#include 
;#include 
#include 
Global $Rect = WinGetPos('[CLASS:Shell_TrayWnd]')
$i=0
Sleep(8000)
baoshi()
Func baoshi()
$hwnd = GUICreate("整点报时", 160, 60, 0, @DesktopHeight-$Rect[3]-60, 0x80800000,0x00000008)
$hwndLabel1 = GUICtrlCreateLabel("现在是北京时间", 20, 8, 120, 20)
GUICtrlSetFont(-1, 12, 800, 0, "楷体_GB2312")
$hwndLabel2 = GUICtrlCreateLabel(@HOUR&'点'&@MIN&'分'&@SEC&'秒', 40, 35, 80, 20,0x01)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040001);slide in from left
GUISetState(@SW_SHOW)
While 1
GUICtrlSetData($hwndLabel2,@HOUR&'点'&@MIN&'分'&@SEC&'秒')
sleep(1000)
$i+=1
If $i =10 then 
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050002);slide out to left
;GUICtrlDelete($hwnd)
Exit
EndIf
WEnd
EndFunc;整点报时


[ 本帖最后由 superflq 于 2008-12-16 15:37 编辑 ]
发表于 2008-12-16 17:11:51 | 显示全部楼层
置顶前先取到当前激活窗口,这个程序置顶以后再把原来的窗口激活。
 楼主| 发表于 2008-12-16 17:33:02 | 显示全部楼层
我也想过这个方案,
但是要是全屏在搞游戏,这样一转换肯定会被退出来,
发表于 2008-12-17 09:14:29 | 显示全部楼层
那个窗口样式啊???
 楼主| 发表于 2009-1-7 13:50:46 | 显示全部楼层
顶一个没人,回复呀
发表于 2010-3-29 10:50:28 | 显示全部楼层
我也遇到这个问题,窗口总是在激活状态,别的窗口会失去焦点
发表于 2010-3-29 14:17:01 | 显示全部楼层
GUISetState(@SW_SHOWNOACTIVATE)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-7-5 12:09 , Processed in 0.080511 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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