1 (изменено: serzh82saratov, 2014-05-03 17:24:30)

Тема: AHK: Работа с SystemMenu

Вопроса пока три:

1. Как добавить свои пункты первыми, чтобы дефолтные остались внизу?

2. Как убрать дефолтные пункты оставив свои пункты, а также ресайз окна и работающие кнопки в заголовке?

3. Как сделать дефолтным (выделенный жирным) свой пункт? Изначально это пункт "Закрыть".


Gui, Show, w444 h444, % " "
Gui, +HWNDhGui +ReSize 
OnMessage(0x112, "WM_SYSCOMMAND") 
  
hSysMenu := DllCall("GetSystemMenu", "UInt", hGui, "UInt", 0)      
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0x00000800)   ; MF_SEPARATOR   
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1001, "Str", "Item 1")    
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1002, "Str", "Item 2")  
DllCall("AppendMenu", "UInt", hSysMenu, "UInt", 0, "UInt", 0x1003, "Str", "Item 3")     
DllCall("DrawMenuBar", "UInt", hGui)  
 
WM_SYSCOMMAND(wParam, lParam)
{ 
    If wParam between 0x1001 and 0x1003
    {  
        ToolTip % wParam
    }
}
Return

SystemMenu - меню заголовка окна.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2

Re: AHK: Работа с SystemMenu

Window System Menu Manipulator Library v2.0

3

Re: AHK: Работа с SystemMenu

Так там ничего, касаемо вопросов.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: AHK: Работа с SystemMenu

serzh82saratov, если уж докопался до GetSystemMenu(), то что мешает посмотреть остальные функции из этого раздела MSDN? Там по их названиям всё понятно. Только какой практический смысл в этом? Разве кто-то пользуется системным меню?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Работа с SystemMenu

Ну например есть SetMenuDefaultItem, как я его ни крутил ни вертел...
Как добавлять в начало списка тоже не ясно, есть там некая InsertMenuItem, но тоже методом тыка не вышло.
Как удалить стандартные пункты, без вреда их функциям?

Только какой практический смысл в этом? Разве кто-то пользуется системным меню?

Я сейчас использую в AhkSpy, так как текстовой зоне своё меню, да и не хочется забивать его редко используемыми пунктами.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Работа с SystemMenu

Провёл небольшое исследование. Выяснилось, что дефолтный пункт системного меню изменить не удаётся, при удалении пунктов теряется функциональность.

Gui, +HWNDhGui +ReSize 
Gui, Show, w444 h444, % " "
OnMessage(0x112, "WM_SYSCOMMAND") 
  
hSysMenu := DllCall("GetSystemMenu", Ptr, hGui, UInt, 0, Ptr)
VarSetCapacity(MENUITEMINFO, SizeOfMII := 16 + 8*A_PtrSize, 0)
NumPut(SizeOfMII, MENUITEMINFO, "UInt")
NumPut(0x100|0x2|0x40, MENUITEMINFO, 4, "UInt")   ; MIIM_FTYPE | MIIM_ID | MIIM_STRING

; добавляем три своих пункта и сепаратор
Loop 4
{
   ItemText := "MyItem" . A_Index
   (A_Index = 4) ? NumPut(MFT_SEPARATOR := 0x800, MENUITEMINFO, 8, "UInt")   ; сепаратор
   (A_Index = 1) ? NumPut(MFS_DEFAULT := 0x1000, MENUITEMINFO, 12, "UInt")   ; по идее должно изменять дефолтное значение, но не удаётся
   NumPut(0x1000 + A_Index, MENUITEMINFO, 16, "UInt")
   NumPut(&ItemText, MENUITEMINFO, 16 + 5*A_PtrSize)
   DllCall("InsertMenuItem", Ptr, hSysMenu, UInt, A_Index - 1, UInt, 1, Ptr, &MENUITEMINFO)
}

; Удаление любого пункта приведёт к потере функциональности:
DllCall("DeleteMenu", Ptr, hSysMenu, UInt, 10, UInt, MF_BYPOSITION := 0x400)  ; удаляем пункт закрыть
Return
 
WM_SYSCOMMAND(wParam, lParam)
{
    If wParam between 0x1001 and 0x1003
    {  
        ToolTip % wParam
    }
}
Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Работа с SystemMenu

teadrinker спасибо, класс!

А как можно вставить разделители между своими пунктами?

+ открыть спойлер

Gui, +HWNDhGui +ReSize 
Gui, Show, w444 h444, % " "
OnMessage(0x112, "WM_SYSCOMMAND") 
  
hSysMenu := DllCall("GetSystemMenu", Ptr, hGui, UInt, 0, Ptr)
VarSetCapacity(MENUITEMINFO, SizeOfMII := 16 + 8*A_PtrSize, 0)
NumPut(SizeOfMII, MENUITEMINFO, "UInt")
NumPut(0x100|0x2|0x40, MENUITEMINFO, 4, "UInt")   ; MIIM_FTYPE | MIIM_ID|MIIM_STRING

; добавляем три своих пункта и сепаратор
Loop 6
{
   ItemText := "MyItem" . A_Index
   (A_Index = 3 || A_Index = 5) ? NumPut(MFT_SEPARATOR := 0x800, MENUITEMINFO, 8, "UInt")   ; сепаратор
   (A_Index = 1) ? NumPut(MFS_DEFAULT := 0x1000, MENUITEMINFO, 12, "UInt")   ; по идее должно изменять дефолтное значение, но не удаётся
   NumPut(0x1000 + A_Index, MENUITEMINFO, 16, "UInt")
   NumPut(&ItemText, MENUITEMINFO, 16 + 5*A_PtrSize)
   DllCall("InsertMenuItem", Ptr, hSysMenu, UInt, A_Index - 1, UInt, 1, Ptr, &MENUITEMINFO)
}

; Удаление любого пункта приведёт к потере функциональности:
DllCall("DeleteMenu", Ptr, hSysMenu, UInt, 10, UInt, MF_BYPOSITION := 0x400)  ; удаляем пункт закрыть
Return
 
WM_SYSCOMMAND(wParam, lParam)
{
    If wParam between 0x1001 and 0x1003
    {  
        ToolTip % wParam
    }
}
Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Работа с SystemMenu

Gui, +HWNDhGui +ReSize 
Gui, Show, w444 h444, % " "
OnMessage(0x112, "WM_SYSCOMMAND") 
  
hSysMenu := DllCall("GetSystemMenu", Ptr, hGui, UInt, 0, Ptr)
VarSetCapacity(MENUITEMINFO, SizeOfMII := 16 + 8*A_PtrSize, 0)
NumPut(SizeOfMII, MENUITEMINFO, "UInt")
NumPut(0x100|0x2|0x40, MENUITEMINFO, 4, "UInt")   ; MIIM_FTYPE | MIIM_ID|MIIM_STRING

; добавляем три своих пункта и сепараторы между ними
Loop 6
{
   ItemText := "MyItem" . (A_Index + 1)//2
   NumPut(mod(A_Index, 2) ? 0 : MFT_SEPARATOR := 0x800, MENUITEMINFO, 8, "UInt")   ; сепаратор
   mod(A_Index, 2) ? NumPut(0x1000 + (A_Index + 1)//2, MENUITEMINFO, 16, "UInt")   ; идентификатор меню
   NumPut(&ItemText, MENUITEMINFO, 16 + 5*A_PtrSize)
   DllCall("InsertMenuItem", Ptr, hSysMenu, UInt, A_Index - 1, UInt, 1, Ptr, &MENUITEMINFO)
}
Return

GuiClose:
   ExitApp
 
WM_SYSCOMMAND(wParam, lParam)
{
    If wParam between 0x1001 and 0x1003
    {  
        ToolTip % wParam
    }
}
Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK: Работа с SystemMenu

Отредактировал немного, чтобы идентификаторы подряд были.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Работа с SystemMenu

Спасибо, просто надо было затирать нулём после записи MFT_SEPARATOR.
Ну что же, первый вопрос решён, остальные два видимо невыполнимы.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: Работа с SystemMenu

Вопрос: а как показать меню?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Работа с SystemMenu

serzh82saratov пишет:

Вопрос: а как показать меню?

Отправить окну нажатие Alt-Space.

Забыл пароль и потерял e-mail.

13

Re: AHK: Работа с SystemMenu

Не катит, Alt залипает.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14 (изменено: Irbis, 2014-05-07 17:29:17)

Re: AHK: Работа с SystemMenu

Gui +HwndMyGuiHwnd
Gui, Add, Button,, Send
Gui, Show, W150
Return
ButtonSend:
WinGetPos X, Y
SendMessage, WM_GETSYSMENU := 0x313,,Y<<16|X,, ahk_id %MyGuiHwnd%
Return

В общем-то, Х и Y могут быть любые, например кому-то покажется удобней вызывать меню рядом с курсором мыши.

15

Re: AHK: Работа с SystemMenu

Irbis, то что надо!

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

16

Re: AHK: Работа с SystemMenu

Кстати что за загадочное WM_GETSYSMENU? Я не смог найти его полное описание. Так подозреваю, что оно может не только показывать меню.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

17

Re: AHK: Работа с SystemMenu

Чесно говоря, не знаю полный функционал, нашел по запросу "sendmessage show system menu" что-то похожее и  перевел на AHK. По моему, оригинал был на VB

18

Re: AHK: Работа с SystemMenu

Это недокументированное сообщение. Даже название, как я понял, самопальное, не от МС. Нашёл переписку от 99 года, где чел пишет, что обнаружил его и назвал WM_GETSYSMENU.

19

Re: AHK: Работа с SystemMenu

Неплохая наследуемость недокументированных функций у окон, как я вижу, раз сообщение с таким кодом перекочевало в win8.1

20

Re: AHK: Работа с SystemMenu

Да, Билл просто сменил оформление и название папок, а система осталась та же.

21

Re: AHK: Работа с SystemMenu

Ещё вопрос: как сделать вложенное меню?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

22

Re: AHK: Работа с SystemMenu

Всё равно не совсем понимаю, зачем всё это на системное меню лепить? Не проще отслеживать клик по иконке и своё показывать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

23

Re: AHK: Работа с SystemMenu

Отслеживать клик по иконке - не кашерно, Ты же сам знаешь. Да и вообще узнать методы не плохо.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

24

Re: AHK: Работа с SystemMenu

Отслеживать клик по иконке - не кашерно

Если только запретить в принципе показ сис меню.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

25 (изменено: serzh82saratov, 2023-05-13 11:37:36)

Re: AHK: Работа с SystemMenu

Вот например всплыл более простой способ добавления сверху.


Global Menu:={}
Gui, Show, w444 h444, % " "
Gui, +HWNDhGui +ReSize 
OnMessage(0x112, "WM_SYSCOMMAND")  
  
hSysMenu := DllCall("GetSystemMenu", Ptr, hGui, UInt, 0, Ptr) 
DllCall("InsertMenu", Ptr, hSysMenu, UInt, 0xF120, UInt, 0x00000800, UInt, 0x1000) 
Loop 6
    Menu[uIDNewItem := 0x1000+A_Index] := (lpNewItem := "MyItem " A_Index)
    ,  DllCall("InsertMenu", Ptr, hSysMenu, UInt, 0x1000, UInt, 0, UInt, uIDNewItem, Str, lpNewItem) 
Return

WM_SYSCOMMAND(wParam, lParam) {  
        ToolTip % Menu[wParam]  
}   

Точнее так:


Gui, Show, w444 h444, % " "
Gui, +HWNDhGui +ReSize 
OnMessage(0x112, "WM_SYSCOMMAND")  

hSysMenu := DllCall("GetSystemMenu", Ptr, hGui, UInt, 0, Ptr)    
DllCall("InsertMenu", Ptr, hSysMenu, UInt, DllCall("GetMenuItemID", Ptr, hSysMenu, UInt, 0), UInt, 0x00000800, UInt, 0x1000) 

Loop 6
	DllCall("InsertMenu", Ptr, hSysMenu, UInt, 0x1000, UInt, 0, UInt, 0x1000+A_Index, Str, "MyItem " A_Index "`tCtrl+Shift+" A_Index)
Return 

WM_SYSCOMMAND(wParam, lParam) {  
        ToolTip % wParam
} 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

26

Re: AHK: Работа с SystemMenu

serzh82saratov пишет:

Отслеживать клик по иконке - не кашерно

Если только запретить в принципе показ сис меню.

Та ладно .

Loop 3
   Menu, MyMenu, Add, Item%A_Index%, MenuHandling

Gui, Show, w300 h250
OnMessage(0x00A1, "WM_NCLBUTTONDOWN")
Return

MenuHandling:
   MsgBox, % A_ThisMenuItem
   Return
   
GuiClose:
   ExitApp

WM_NCLBUTTONDOWN(wp)
{
   static HTSYSMENU := 3
   if (wp = HTSYSMENU)
   {
      Menu, MyMenu, Show
      Return 0
   }
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

27

Re: AHK: Работа с SystemMenu

Не понял тебя, своё меню появляется только при точном клике в иконку заголовка, а сис меню как и было.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

28

Re: AHK: Работа с SystemMenu

Ну всё тебе разжевать нужно .

Loop 3
   Menu, MyMenu, Add, Item%A_Index%, MenuHandling

Gui, +Resize
Gui, Show, w300 h250
OnMessage(0x00A1, "NC_CLICK")   ; WM_NCLBUTTONDOWN
OnMessage(0x00A4, "NC_CLICK")   ; WM_NCRBUTTONDOWN
OnMessage(0x00A5, "NC_CLICK")   ; WM_NCRBUTTONUP
Return

MenuHandling:
   MsgBox, % A_ThisMenuItem
   Return
   
GuiClose:
   ExitApp

NC_CLICK(wp, lp, msg)
{
   static HTSYSMENU := 3, WM_NCLBUTTONDOWN := 0x00A1, WM_NCRBUTTONDOWN := 0x00A4, WM_NCRBUTTONUP := 0x00A5
   if (msg = WM_NCRBUTTONDOWN)
      Return 0
   
   if ((wp = HTSYSMENU && msg = WM_NCLBUTTONDOWN) || msg = WM_NCRBUTTONUP)
   {
      Menu, MyMenu, Show
      Return 0
   }
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

29

Re: AHK: Работа с SystemMenu

Вот, горячо.
Так я и не знал что Return в OnMessage функции что то значит. Кстати почему 0 возвращает, можно вроде и без значения.
Это что замена такому способу?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

30

Re: AHK: Работа с SystemMenu

Без значения у меня не работает. Ну да, наверное, более простая замена.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

31 (изменено: serzh82saratov, 2014-05-09 17:50:09)

Re: AHK: Работа с SystemMenu

GuiContextMenu [v1.0.36+]: запускается, если пользователь щелкнул правой клавишей мыши в любом месте окна, кроме строки заголовка и строки меню, а также в ответ на нажатие Apps key или Shift-F10. В отличие от большинства других меток GUI, опция GuiContextMenu может иметь несколько одновременных потоков. Процедура может проверять следующие переменные:

Прикольно, тогда в принципе достаточно WM_CONTEXTMENU = 0x007B, вместо GuiContextMenu. Особенно если в Gui меню несколько. Shift-F10 и Apps key захватит. Уже в :ShowMenu решать что и где показывать.


Loop 3
   Menu, MyMenu, Add, Item%A_Index%, MenuHandling

Gui, +Resize 
Gui, Show, w300 h250
OnMessage(0x007B, "WM_CONTEXTMENU")  
Return

MenuHandling:
   MsgBox, % A_ThisMenuItem
   Return
   
WM_CONTEXTMENU() {
    SetTimer ShowMenu, -1
    Return 0
}

ShowMenu:
    Menu, MyMenu, Show
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

32

Re: AHK: Работа с SystemMenu

А в чём отличие от использования стандартной метки?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

33 (изменено: serzh82saratov, 2014-05-09 22:24:08)

Re: AHK: Работа с SystemMenu

запускается, если пользователь щелкнул правой клавишей мыши в любом месте окна, кроме строки заголовка

В этом?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

34

Re: AHK: Работа с SystemMenu

Да, действительно, срабатывает даже при клике правой кнопкой по заголовку. Но чтобы имитировать системное меню, придётся определять, что клик был именно по заголовку.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

35

Re: AHK: Работа с SystemMenu

А что значит -  имитировать системное меню? Нужно же чтоб правой кнопкой по заголовку, без особых танцев, вызывалось своё. Системное можно вызвать левым  кликом в иконку заголовка, только зачем оно надо, как Ты сам говорил. Кстати в твоём варианте левый клик в иконку заголовка, периодически вызывает сис меню, а не своё как задумано.
Вобщем в последнем ahkspy реализовал, посмотри, может изъяны есть в этом способе.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

36

Re: AHK: Работа с SystemMenu

определять, что клик был именно по заголовку.

А, кажется понял о чём ты. Можно примерно так:


Gui, Show, w222 h222
OnMessage(0x007B, "WM_CONTEXTMENU")  
Return
   
WM_CONTEXTMENU() { 
    CoordMode, Mouse, Client
    MouseGetPos, , y 
    ToolTip % y < 1 ? "Заголовок" : "Не заголовок"
    Return 0
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

37

Re: AHK: Работа с SystemMenu

serzh82saratov пишет:

Вобщем в последнем ahkspy реализовал, посмотри, может изъяны есть в этом способе.

Не знаю, изъян ли это, но меню появляется не только при клике по заголовку, но и по области кнопок.

Можно примерно так:

Да, только координаты заголовка сначала определить нужно.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

38

Re: AHK: Работа с SystemMenu

Не знаю, изъян ли это, но меню появляется не только при клике по заголовку, но и по области кнопок.

Нет, это специально. Условие - если не текстовая обдасть, то показать.

координаты заголовка сначала определить нужно.

А зачем?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

39

Re: AHK: Работа с SystemMenu

А, не надо, посмотрел невнимательно, всё ок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

40 (изменено: concept.ru, 2023-05-13 01:24:32)

Re: AHK: Работа с SystemMenu

serzh82saratov пишет:

Точнее так:

А как бы добавить ещё и клавиши запуска в

Loop 6
    DllCall("InsertMenu", Ptr, hSysMenu, UInt, 0x1000, UInt, 0, UInt, 0x1000+A_Index, Str, "MyItem " A_Index) 
Return 

например, F & A_Index ? Как Alt+F4 у Закрыть.

P.S. Вопрос снят.
Нужно использовать `t .
Ларчики ahk иной  раз открываются удивительно просто.

41

Re: AHK: Работа с SystemMenu

Да, любопытно.

DllCall("InsertMenu", Ptr, hSysMenu, UInt, 0x1000, UInt, 0, UInt, 0x1000+A_Index, Str, "MyItem " A_Index "`tCtrl+Shift+" A_Index)
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

42

Re: AHK: Работа с SystemMenu

Существует ли метод не скрывать меню при выборе пункта?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

43

Re: AHK: Работа с SystemMenu

Какого, системного меню? Вряд ли.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

44

Re: AHK: Работа с SystemMenu

Устанавливай WH_CBT хук и отлавливай HCBT_DESTROYWND.

45

Re: AHK: Работа с SystemMenu

Вряд ли от этого будет толк.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

46

Re: AHK: Работа с SystemMenu

Зависит от того, что требуется, но закрывать точно не будет.

47

Re: AHK: Работа с SystemMenu

Хотя для системных меню походу надо ставить хук WH_SYSMSGFILTER.