Vielen Dank Make-Grafik.
Genau das war das Problem. Ich habe mir gedacht, dass Not an dieser Stelle falsch sein muss, aber ich wusste nicht, wie ich es anders machen sollte. ![]()
Beiträge von Sirius
-
-
Hallo zusammen,
ich habe folgende Frage:
[autoit]If Not GUICtrlRead($Name) = "Ralf" Then
[/autoit]
MsgBox(16,"FEHLER","Namen nicht bekannt!")
ContinueLoop
EndIfWo liegt der Fehler? Ich möchte mehrere Namen überprüfen lassen und nur dann weiter, wenn einer der Namen richtig eingegeben wurde.
wie kann ich mehre Namen überprüfen, und warum funktionert das so nicht, wie ich das gemacht habe?
Vielen Dank!
-
Hi!
Ich brauche eure Hilfe. Wie bekomme ich es hin im folgenden Script eine Fehlermeldung einzubinden, wenn VNC keine Verbindung aufbauen kann.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
;coded by UEZ 2013
#include <EditConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Opt("MustDeclareVars", 1)Global $sInputText = "Bitte Passwort eingeben"
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit]
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
WEndFunc IPChk($sIP)
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc vncstart($sIP, $sPwd)
[/autoit] [autoit][/autoit] [autoit]
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 ;==>vncstartFunc WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
#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_COMMANDVielen Dank!
Gruß
Sirius -
Hi zusammen.
Danke m-obi, dass war der Fehler. Ich bin halt noch Anfänger!

Vielen Dank an alle die mir geholfen haben.
Gruß
Sirius -
Moin Moin.
Hab leider das selbe Problem wie mit WM_COMMAND. Der Rest vom Script funzt leider nicht mehr.
Hab schon viel versucht, aber ich bekomme es nicht ans laufen.Hier mein Code
[autoit][/autoit][autoit][/autoit][autoit]#include <Misc.au3>
[/autoit][autoit][/autoit][autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <SendMessage.au3>$sPWText = "Ihr Passwort"
[/autoit][autoit][/autoit][autoit]
$sIPText = "Ihre IP"#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Form1 = GUICreate("Test VNC", 621, 437, 189, 119)
$Button1 = GUICtrlCreateButton("VNC-Viewer starten", 192, 72, 225, 33)
$IP = GUICtrlCreateInput($sIPText, 224, 120, 169, 21)
$Passwort = GUICtrlCreateInput($sPWText, 224, 152, 169, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$bWritePW = False
[/autoit][autoit][/autoit][autoit]While True
[/autoit][autoit][/autoit][autoit]
$iMsg = GUIGetMsg()
Switch $iMsg
Case -3
Exit
EndSwitchIf GUICtrlRead($Passwort) <> $sPWText Then
[/autoit][autoit][/autoit][autoit]
If Not $bWritePW Then
GUICtrlSendMsg($Passwort, $EM_SETPASSWORDCHAR, Asc('*'), 0)
GUICtrlSetData($Passwort, StringReplace(GUICtrlRead($Passwort), $sPWText, ""))
$bWritePW = True
EndIf
EndIf
WEndFunc vncstart()
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
ShellExecute("C:\Programme\RealVNC\VNC Viewer\vncviewer.exe")
WinActivate("VNC Viewer")
$PCip = GUICtrlRead($IP)
Sleep(200)
Send ($PCip & "{Enter}")
WinWaitActive("VNC Viewer - Authentication")
$vncpass = GUICtrlRead($Passwort)
Sleep(150)
Send ($vncpass & "{Enter}")
EndFuncWhile 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
vncstart()EndSwitch
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]Das mit dem Passwort und dem Text funktioniert, aber leider ShellExecute mit VNC nicht mehr!
Wo ist der Fehler, was mache ich falsch?
Vielen Dank!
Gruß
Sirius -
Hi.
Vielen Dank an euch alle! Oscar´s Version funktioniert! Vielen Dank!
Gruß
Sirius -
Hi.
Vielen Dank für eure Antworten. Die Version von UEZ bekomme ich irgendwie nicht in meinem Script unter. Es funktioniert, aber dann funzt der Rest meines Scripts nicht mehr.

Chesstiger, dein Vorschlag funktioniert nicht richtig. Das Passwort wird sichtbar angezeigt.
Da mir diese Variante von Chesstiger besser gefällt, bitte ich dich nochmal nach zu schauen, warum das Passwort angezeigt wird.
Dann könnte ich es so machen.Vielen Dank!
Gruß
Sirius -
Hi Chesstiger!
Vielen Dank für deine schnelle Hilfe!
Leider bin ich Anfänger, hab jetzt versucht deinen Vorschlag umzusetzen, aber leider ohne Erfolg.
Kannst du vielleicht ein Beispiel zeigen?Vielen Dank!
Sirius
-
Hallo zusammen!
Ich hab mal ne Frage zu folgendem Code.
[autoit]
[/autoit]
$passwort = GUICtrlCreateInput("Überschreib diesen Text mit deinem Passwort", 150, 152, 319, 21, $ES_PASSWORD)
Ich hab in der InputBox jetzt ein Text stehen, welcher auch angezeigt werden soll. Wenn der User sein Passwort eintippt soll man das aber nicht erkennen.
Gibt es da eine Möglichkeit?Vielen Dank!
Gruß
Sirius -
-
Hallo zusammen!
Ich bin neu im Forum und beschäftige mich seit dem 22. Februar 2013 mit Autoit.
Nun brauche ich eure Hilfe.
Und zwar möchte ich folgendes:-Mauskoordinaten per linken Maustaste ermitteln und speichern (so ungefähr 5 Koordinaten)
-diese ermittelten Mauskoordinaten dann an einer anderen Stelle im Script verwendenSoweit habe ich alles fertig, aber bei dieser Sache blicke ich einfach nicht durch.
Vielleicht kann mir jemand von euch ein Beispiel posten?
Ich bedanke mich im voraus!
Gruß
Sirius