hi majkinetor
thanks for kindly tutorial (i just wonder that why no replies here?)
i've tried to make a replacement of sysmenu. but there were few problems
1) can i hook sysmenu only? rather than all popup menus by right mouse click
2) is there more elegant way rather than closing sysmenu by sending {ALT} key?
Thanks !!!
Code:
#SingleInstance, force
#Persistent
SetKeyDelay, -1 ;close sysmenu real fast!!!
SetBatchLines, -1
HookProcAdr := RegisterCallback("HookProc", "F" )
API_SetWinEventHook(4,5,0,HookProcAdr,0,0,0)
API_SetWinEventHook(0xA,0xB,0,HookProcAdr,0,0,0)
Menu, Replacement, Add, SysMenu Hook Testing!!!, Test
Test:
return
HookProc(hWinEventHook, event, hwnd, idObject, idChild, dwEventThread, dwmsEventTime ) {
if event = 4
{
Send, {Alt} ;close sysmenu!!!
Menu, Replacement, Show
}
}
API_SetWinEventHook(eventMin, eventMax, hmodWinEventProc, lpfnWinEventProc, idProcess, idThread, dwFlags) {
DllCall("CoInitialize", "uint", 0)
return DllCall("SetWinEventHook", "uint", eventMin, "uint", eventMax, "uint", hmodWinEventProc, "uint", lpfnWinEventProc, "uint", idProcess, "uint", idThread, "uint", dwFlags)
}