Hi!
Ich brauche eure Hilfe. Wie bekomme ich es hin im folgenden Script eine Fehlermeldung einzubinden, wenn VNC keine Verbindung aufbauen kann.
Spoiler anzeigen
;coded by UEZ 2013
#include <EditConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Opt("MustDeclareVars", 1)
Global $sInputText = "Bitte Passwort eingeben"
Global $sInputIP = "IP Adresse"
Global Const $hGUI = GUICreate("Password", 329, 116)
Global Const $idLabelHeadline = GUICtrlCreateLabel("VNC Starter", 110, 10, 150)
GUICtrlSetFont(-1, 18, 400, 0, "Arial", 4)
Global Const $idLabelIP = GUICtrlCreateLabel("IP Adr.", 30, 54, 44, 29)
Global Const $idInputIP = GUICtrlCreateInput($sInputIP, 68, 52, 151, 21)
GUICtrlSetColor(-1, 0xA0A0A0)
Global Const $hInputIP = GUICtrlGetHandle($idInputIP)
Global Const $idLabelPWD = GUICtrlCreateLabel("Passwort:", 18, 84, 44, 19)
Global Const $idInputPWD = GUICtrlCreateInput($sInputText, 68, 82, 151, 21)
GUICtrlSetColor(-1, 0xA0A0A0)
Global Const $hInputPWD = GUICtrlGetHandle($idInputPWD)
Global Const $idButtonGO = GUICtrlCreateButton("Start VNC", 241, 80, 75, 25)
ControlFocus($hGUI, "", $idLabelPWD)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIRegisterMsg($WM_COMMAND, "")
GUIDelete()
Exit
Case $idButtonGO
If Not IPChk(GUICtrlRead($idInputIP)) Then
MsgBox(16, "FEHLER", "Bitte IP Adresse überprüfen!", 30)
ContinueLoop
EndIf
If GUICtrlRead($idInputPWD) = "" Or GUICtrlRead($idInputPWD) = $sInputText Then
MsgBox(16, "FEHLER", "Passwort ist gleich '" & $sInputText & "'", 30)
ContinueLoop
EndIf
GUIRegisterMsg($WM_COMMAND, "")
vncstart(GUICtrlRead($idInputIP), GUICtrlRead($idInputPWD))
GUIDelete()
Exit
EndSwitch
WEnd
Func IPChk($sIP)
Local $sRegExPattern = _
"^([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
"([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
"([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
"([01]?\d\d?|2[0-4]\d|25[0-5])$"
Local $a = StringRegExp($sIP, $sRegExPattern, 3)
If @error Then Return 0
Return 1
EndFunc
Func vncstart($sIP, $sPwd)
ShellExecute("C:\Programme\RealVNC\VNC Viewer\vncviewer.exe")
WinActivate("VNC Viewer")
Sleep(200)
Send($sIP & "{Enter}")
WinWaitActive("VNC Viewer - Authentication")
Sleep(150)
Send($sPwd & "{Enter}")
EndFunc ;==>vncstart
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg
Local $iIDFrom = _WinAPI_LoWord($iwParam)
Local $iCode = _WinAPI_HiWord($iwParam)
Switch $ilParam
Case $hInputPWD
Switch $iCode
Case $EN_KILLFOCUS
If GUICtrlRead($iIDFrom) = "" Then
GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 0, 0)
GUICtrlSetData($iIDFrom, $sInputText)
GUICtrlSetColor($iIDFrom, 0xA0A0A0)
EndIf
Case $EN_SETFOCUS
GUICtrlSetColor($iIDFrom, 0)
GUICtrlSetData($iIDFrom, "")
GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 9679, 0)
EndSwitch
Case $hInputIP
Switch $iCode
Case $EN_KILLFOCUS
If GUICtrlRead($iIDFrom) = "" Then
GUICtrlSetData($iIDFrom, $sInputIP)
GUICtrlSetColor($iIDFrom, 0xA0A0A0)
EndIf
Case $EN_SETFOCUS
GUICtrlSetColor($iIDFrom, 0)
If GUICtrlRead($iIDFrom) = "" Or GUICtrlRead($iIDFrom) = $sInputIP Then GUICtrlSetData($iIDFrom, "")
EndSwitch
EndSwitch
Return "GUI_RUNDEFMSG"
EndFunc ;==>WM_COMMAND
Vielen Dank!
Gruß
Sirius