Цитата ret52:
почему же он не хочет работать без msgbox? »
|
Видимо оно как то связано с попыткой нажатия клавишы мышки сразу после запуска.
Обойти это можно примерно так:
Код:
#NoTrayIcon
#include <Misc.au3>
#include <SysTray_UDF.au3>
While _IsPressed("01")
Sleep(10)
WEnd
$Pid = ProcessExists("USBGuard.exe")
If Not $Pid Then
MsgBox(16, "Error", "This process not exists")
Exit
EndIf
$Index = _SysTrayIconIndex("USBGuard.exe")
If @error Then
MsgBox(16, "Error", "This process not have tray icon")
Exit
EndIf
_SysTrayIconClick($Index, "Left")
If @error Then
MsgBox(16, "Error", "There was an error to click on the icon")
Exit
EndIf
Func _SysTrayIconClick($iIndex, $sButton = "Main")
Local $TrayIcon_Pos = _SysTrayIconPos($iIndex)
If Not IsArray($TrayIcon_Pos) Then Return SetError(1, 0, 0)
Local $Old_Mouse_Pos = MouseGetPos()
MouseClick($sButton, $TrayIcon_Pos[0], $TrayIcon_Pos[1], 1, 0)
MouseMove($Old_Mouse_Pos[0], $Old_Mouse_Pos[1], 0)
EndFunc