Цитата FlatX007:
Всё равно мигает - только быстрее пропадает »
|
Ну вообще чтобы не появлялось наврядли получится. Вот пример с использованием хука, быстрее уже некуда вроде:
Код:
#NoTrayIcon
;
HotKeySet("^e", "_Quit")
;ShellHook notification codes:
Global Const $HSHELL_WINDOWCREATED = 1;
Global Const $HSHELL_WINDOWDESTROYED = 2;
Global Const $HSHELL_ACTIVATESHELLWINDOW = 3;
Global Const $HSHELL_WINDOWACTIVATED = 4;
Global Const $HSHELL_GETMINRECT = 5;
Global Const $HSHELL_REDRAW = 6;
Global Const $HSHELL_TASKMAN = 7;
Global Const $HSHELL_LANGUAGE = 8;
Global Const $HSHELL_SYSMENU = 9;
Global Const $HSHELL_ENDTASK = 10;
Global Const $HSHELL_ACCESSIBILITYSTATE = 11;
Global Const $HSHELL_APPCOMMAND = 12;
Global Const $HSHELL_WINDOWREPLACED = 13;
Global Const $HSHELL_WINDOWREPLACING = 14;
Global Const $HSHELL_RUDEAPPACTIVATED = 32772;
Global Const $HSHELL_FLASH = 32774;
Global $aMonitor_WinTitles[3] = [2, "Предупреждение системы безопасности", "Подключение к stat.****.net"]
Global $hGUI = GUICreate("Shell Hooker")
;Hook stuff:
GUIRegisterMsg(RegisterWindowMessage("SHELLHOOK"), "HShellWndProc")
ShellHookWindow($hGUI, 1)
While 1
Sleep(1000)
WEnd
Func HShellWndProc($hWnd, $Msg, $wParam, $lParam)
Switch $wParam
Case $HSHELL_WINDOWCREATED
Local $s_Title = WinGetTitle($lParam)
For $i = 1 To $aMonitor_WinTitles[0]
If $s_Title = $aMonitor_WinTitles[$i] Then
WinKill($lParam)
ExitLoop
EndIf
Next
EndSwitch
EndFunc
;register/unregister ShellHook
Func ShellHookWindow($hWnd, $bFlag)
Local $sFunc = 'DeregisterShellHookWindow'
If $bFlag Then $sFunc = 'RegisterShellHookWindow'
Local $aRet = DllCall('user32.dll', 'int', $sFunc, 'hwnd', $hWnd)
Return $aRet[0]
EndFunc
;register window message
Func RegisterWindowMessage($sText)
Local $aRet = DllCall('user32.dll', 'int', 'RegisterWindowMessage', 'str', $sText)
Return $aRet[0]
EndFunc
Func _Quit()
ShellHookWindow($hGUI, 0)
Exit
EndFunc