使窗体右上角的“关闭”按钮不可用的参数是什么?
帮助文件里没找到。自己试验了几个参数,例如 2,都只能把 最小化、最大化和关闭按钮全部隐藏,同时标题左边的图标也不显示了。只要求最小化按钮可用,最大化和关闭按钮都不可用。请高手指教。
[ 本帖最后由 陌上风 于 2008-5-16 13:53 编辑 ] $GUI_EVENT_CLOSE 这个事件不要设置应该就可以了 原帖由 wolfxiong 于 2008-5-16 09:40 发表 http://www.autoitx.com/images/common/back.gif
$GUI_EVENT_CLOSE 这个事件不要设置应该就可以了
我还是想 关闭 按钮不可用,或者隐藏 关闭 按钮 没有办法,只要你想显示图标,那么$WS_SYSMENU风格是必须添加的,而$WS_SYSMENU就包括了图标以及关闭按钮。
而如果没有$WS_SYSMENU风格的话,不要说图标,甚至连最小化最大化按钮也看不见(注意,不是不可用,而是根本就不显现出来) GUICreate("My GUI",200,100,-1,-1,$WS_MINIMIZEBOX+$WS_SYSMENU )
这样子写,最大化按钮不可用,但关闭按钮是保留的 只有退而求其次了 api 可以实现
对自己或者其他窗口都可以
:face (1): 本帖最后由 xiehuahere 于 2011-11-10 13:21 编辑
官网的这个帖子有详细回答。
http://www.autoitscript.com/forum/topic/9486-disabling-x-close-button/page__hl__disable++close; Example of external program
Run("calc")
WinWait("Calculator")
$calcHwnd = WinGetHandle("Calculator")
$menu = DllCall("user32.dll", "hwnd", "GetSystemMenu", "hwnd", $calcHwnd, "bool", False)
DllCall("user32.dll", "int", "RemoveMenu", "hwnd", $menu , "int", 0xF060, "int", 0x0);SC_CLOSE
; Example with own AutoIt GUI
$GUI = GuiCreate("Example")
$menu = DllCall("user32.dll", "hwnd", "GetSystemMenu", "hwnd", $GUI, "bool", False)
DllCall("user32.dll", "int", "RemoveMenu", "hwnd", $menu , "int", 0xF060, "int", 0x0);SC_CLOSE
GuiSetState(@SW_SHOW)
While 1
; WE COULD ALSO CHOOSE NOT TO DO ANYTHING UPON A CLOSE EVENT
sleep(100)
WEndDllCall还是很强大的,一起来学习吧:你DllCall了吗?
页:
[1]