Есть такой код:
Sub SysFreeze
dim lp&
lp&=EnumWindows(addressof EnFunk,0)
end sub
function EnFunk(BYVAL hwnd as long, ByVal lpData as long)
if hwnd<> form1.hwnd then
redim preserve hwndmass(ubound(hwndmass)+1)
redim preserve PrevFunk(ubound(PrevFunk)+1)
hwndmass(UBound(hwndmass))=hwnd
PrevFunk(UBound(PrevFunk))=SetWindowLong _(hwnd,GWL_WNDPROC,addressof NewWinProc)
End If
EnFunk=1
End Function
function NewWinProc(ByVal hwnd as long,ByVal uMsg as Long, ByVal wParam as long,ByVal lParam as Long) as long
NewWinProc=0
End Function
А заморозить таким способом можно только своё окно(если убрать условие) или ещё лучше VB при отладке