Code: Select all
#Include "windows.bi"
Sub SetConsoleSize(cols As Long, lines As Long)
Shell "MODE CON: COLS=" + Str(cols) + "LINES=" + Str(lines)
End Sub
Dim Shared As HWINEVENTHOOK gHook
Sub HandleWinEvent(hook As HWINEVENTHOOK, Event As DWORD, hwnd As HWND, idObject As Long, idChild As Long, dwEventThread As DWORD, dwmsEventTime As DWORD)
Select Case Event
Case EVENT_SYSTEM_MENUPOPUPSTART
? "Popup menu was called. How to disable it?"
End Select
End Sub
Dim As DWORD cmode
Dim As HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE)
GetConsoleMode(hInput, @cmode)
SetConsoleMode(hInput, ENABLE_EXTENDED_FLAGS Or (cmode And Not ENABLE_QUICK_EDIT_MODE))
SetConsoleSize(90, 8)
? "Press right mouse bottom"
Dim As Long iPosCursor = Csrlin
Dim As String key
gHook = SetWinEventHook(EVENT_SYSTEM_MENUPOPUPSTART, EVENT_SYSTEM_MINIMIZEEND, Null, @HandleWinEvent, 0, 0, WINEVENT_OUTOFCONTEXT Or WINEVENT_SKIPOWNPROCESS)
Dim As MSG msg
While True
If PeekMessage(@msg, 0, 0, 0, PM_REMOVE) Then
TranslateMessage(@msg)
DispatchMessage(@msg)
Endif
If Len(Inkey()) Then Exit While
Sleep(10)
Wend
UnhookWinEvent(ghook)
SetConsoleMode(hInput, cmode)
? "Done"
Sleep