找回密码
 加入
搜索
查看: 2829|回复: 5

创建一个GUI,使用$WS_EX_TOOLWINDOW,并且使其固定在某个位置不可拖动

  [复制链接]
发表于 2010-1-13 14:52:00 | 显示全部楼层 |阅读模式
如题,考考大家。。。(winmove能不用就不用)
发表于 2010-1-13 15:09:36 | 显示全部楼层
WM_GETMINMAXINFO,是这样吗~?^_^
 楼主| 发表于 2010-1-13 15:16:54 | 显示全部楼层
WM_GETMINMAXINFO,是这样吗~?^_^
pusofalse 发表于 2010-1-13 15:09



    请给个例子,API不懂且没用过


我只会循环WinMove($h_GUI,"",50,50)和
发表于 2010-1-13 16:07:33 | 显示全部楼层
本帖最后由 pusofalse 于 2010-1-13 18:44 编辑

- -|||,sorry, 错了,WM_GETMINMAXINFO是固定大小的,误认为也可以固定位置。
试过WM_SYSCOMMAND可以,但只能阻止物理鼠标拖动。如果使用外部程序调用WinMove之类的函数,还是可以移动窗口的。不知怎么做~
#include <WindowsConstants.au3>

$hGUI = GUICreate("test", 400, 300, 100, 100, 0x70000, $WS_EX_TOOLWINDOW) ; 0x70000 - resize
GUISetState()
GUIRegisterMsg($WM_SYSCOMMAND, "_FixedPosition")

Do
Until GUIGetMsg() = -3

Func _FixedPosition($hWnd, $iMsg, $iwParam, $ilParam)
        If $iwParam = 0xF012 Then Return 1
EndFunc        ;==>_FixedPosition
 楼主| 发表于 2010-1-13 19:22:25 | 显示全部楼层
- -|||,sorry, 错了,WM_GETMINMAXINFO是固定大小的,误认为也可以固定位置。
试过WM_SYSCOMMAND可以,但 ...
pusofalse 发表于 2010-1-13 16:07



    也不错啦,十分好的api,学习了
发表于 2010-6-4 22:04:38 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 02:41 , Processed in 0.078731 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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