这段脚本实现了对指定窗口(以记事本为例)的 菜单栏移除与恢复。它利用 Windows API 函数 GetMenuSetMenu 对目标窗口的菜单栏进行操作。

 

; 移除或恢复指定窗口(以记事本为例子)的菜单栏【标准窗口下生效】
F1::ToggleMenu("ahk_class Notepad++")

; 移除活动窗口的菜单栏【标准窗口下生效】
F2::DllCall("SetMenu", "Ptr", WinExist("A"), "Ptr", 0)

ToggleMenu(WinTitle:="") {
  Static WinhMenu
  WinGet, hHwnd, id, %WinTitle%
  If hHwnd
    	hMenu := DllCall("GetMenu", "uint", hHwnd)
  If hMenu
        DllCall("SetMenu", "uint", hHwnd, "uint", 0), WinhMenu := hMenu
    else
    DllCall("SetMenu", "uint", hHwnd, "uint", WinhMenu)
  if Toggle
    DllCall("SetMenu", "uint", hHwnd, "uint", WinhMenu)
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。