Hi,
ich habe gerade in meinem Script einen Fehler entdeckt:
Spoiler anzeigen
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=world.ico
#AutoIt3Wrapper_Outfile=exe\FirmaConnect.exe
#AutoIt3Wrapper_Res_Comment=Firma Connect stellt eine VPN Verbindung zu Firmaher.
#AutoIt3Wrapper_Res_Description=FirmaConnect
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2010 IT
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 1.0.0.0
Author: Boris Wagener
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]FileInstall("PKV.jpg", "C:\Firma\FirmaConnect\PKV.jpg", 1)
FileInstall("world.ico", "C:\Firma\FirmaConnect\world.ico", 1)
FileInstall("Logon.wav", "C:\Firma\FirmaConnect\Logon.wav", 1)
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <Inet.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <Process.au3>
#include <date.au3>
#include <GuiEdit.au3>
;############################################################################################################################################################
[/autoit] [autoit][/autoit] [autoit]; Wechsle in den OnEvent Modus
Opt("GUIOnEventMode", 1)
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Variablendeklaration
$ProgramNameVersion = "FirmaConnect -Köln- " & FileGetVersion(@AutoItExe)
$Testdomain = "www.google.de"
$Testserver = "dc.firma.intern"
$User = @UserName
$LogonServer = @LogonServer
$FileName = @ScriptDir & "\Logon_" & @YEAR & @MON & @MDAY & "_" & @HOUR & @MIN & @SEC & ".log"
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Die werden alle gebraucht und müssen vorher deklariert werden weil die GUIs in Functions ereugt werden
Global $Mainform, $Childform, $fortschritt, $Pic1, $lbl_fortschritt, $lbl_info, $Label2,$Label3, $Einwahluser, $Input_user, $lbl_info2, $User, $lbl_passwort, $btn_verbinden, $btn_trennen, $Label1, $Group1, $chk_showpw, $lbl_ip
;Variablen in CheckOnProgUpdate
;~ Global $ProgramNameVersion, $FileName
;~ Global $DownloadDir = @ScriptDir & "\Download\firmaConnect.exe"
;~ #include "CheckOnProgUpdate.au3"
[/autoit] [autoit][/autoit] [autoit]#include "WriteLogData.au3"
[/autoit] [autoit][/autoit] [autoit];ESC bricht alles ab
HotKeySet("{ESC}", "_Terminate")
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If FileDelete(@ScriptDir & "\*.log") = 1 Then
_WriteLogData("Alte LOG Datei wurde erfolgreich gelöscht.")
EndIf
;Verknüpfung austauschen
;~ das kann in der nächsten Version wieder raus
;~ FileDelete( @DesktopDir & "\firmaConnect.lnk")
;~ FileCreateShortcut("C:\firma\firmaConnect\firmaConnect.exe", @DesktopDir & "\firmaConnect.lnk",@ScriptDir,"","", "C:\firma\firmaConnect\world.ico")
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]_WriteLogData("Programm : " & @ScriptName & ". Version=" & FileGetVersion(@ScriptName) & " mit Datum=" & FileGetTime(@ScriptName, 1, 1))
_WriteLogData("firma Benutzer : " & @UserName)
_WriteLogData("LogonServer : " & @LogonServer)
_WriteLogData("LogonDomain : " & @LogonDomain)
_WriteLogData("LogonDNSDomain : " & @LogonDNSDomain)
_WriteLogData("Desktopverzeichnis: " & @DesktopCommonDir)
_WriteLogData("---------------------------------------------------------------------")
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Los gehts
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Main GUI aufrufen
_Mainform()
;ChildGui aufrufen, GuiSetState (@SW_HIDE), also versteckt. Diese GUI muss von Anfang an mitlaufen.
_Childform()
;Controls ausblenden bis Internetverbindung überbrüft ist
_Ausblenden()
; Prüfen ob schon eine PN Verindung besteht
_VPNTest()
; Internet Verbindung testen, Controls einblenden, RadioButtos setzen, auf Passwort warten.
;Hier geht es erst weiter wenn der Verbinden Button gedruckt wird.
; ab dann _VPNConnect()
_Startup()
;Antwortzeit der Verbindung ermitteln und in $Childgui anzeigen.
_VPNStatus()
;Nicht die Reihenfolge er Function Aufrufe ändern!!!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Hauptprogramm:-)
While 1
Sleep(500)
WEnd
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;############################################################################################################################################################
; Funktionen
;############################################################################################################################################################
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Mainform erstellen und anzeigen
Func _Mainform()
#Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\firmaConnect V3\Form1.kxf
$Mainform = GUICreate("firmaConnect 1.0", 397, 387, 273, 123)
GUISetIcon(@ScriptDir & "\icon3.ico", -1)
GUISetBkColor(0xFFFFFF)
$Pic1 = GUICtrlCreatePic("firma.jpg", 72, 0, 254, 87, BitOR($GUI_SS_DEFAULT_PIC,$WS_CLIPSIBLINGS))
$fortschritt = GUICtrlCreateProgress(32, 192, 335, 17, 0)
$lbl_info = GUICtrlCreateLabel("", 32, 84, 335, 108, BitOR($SS_CENTER,$SS_SUNKEN))
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xD7E4F2)
$lbl_passwort = GUICtrlCreateInput("", 158, 256, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Label1 = GUICtrlCreateLabel("Passwort:", 58, 256, 62, 20, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$btn_verbinden = GUICtrlCreateButton("Verbinden", 120, 328, 155, 33, BitOR($BS_DEFPUSHBUTTON,$BS_PUSHLIKE,$BS_NOTIFY))
GUICtrlSetOnEvent($btn_verbinden, "_VPNConnect")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$chk_showpw = GUICtrlCreateCheckbox("Passwort anzeigen", 158, 288, 161, 17)
GUICtrlSetOnEvent($chk_showpw, "_showpw")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_user = GUICtrlCreateInput("", 158, 226, 161, 21);, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Label2 = GUICtrlCreateLabel("Benutzername:", 58, 226, 93, 20, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Abbrechen mit [ESC]", 136, 368, 121, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)
_WriteLogData("Mainform erstellt")
EndFunc ;==>_Mainform
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Childform erstellen und anzeigen
Func _Childform()
$Childform = GUICreate("VPN- Status", 264, 116, 10, 10, BitOR($WS_CAPTION, $WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
GUISetIcon("C:\firma\firmaConnect\world.ico")
GUISetBkColor(0xFFFFFF)
$lbl_info2 = GUICtrlCreateLabel("", 8, 4, 247, 52, BitOR($SS_CENTER, $SS_SUNKEN))
GUICtrlSetFont(-1, 9, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xFFFFFF)
$btn_trennen = GUICtrlCreateButton("Trennen", 72, 80, 123, 25, $WS_GROUP)
GUICtrlSetOnEvent($btn_trennen, "_VPNDisconnect")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$lbl_ip = GUICtrlCreateLabel("", 8, 56, 245, 20, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUISetState(@SW_HIDE)
_WriteLogData("Childform erstellt")
EndFunc ;==>_Childform
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;~ Controls verstecken
Func _Ausblenden()
GUICtrlSetState($fortschritt, $gui_hide)
GUICtrlSetState($lbl_fortschritt, $gui_hide)
GUICtrlSetState($btn_verbinden, $gui_hide)
GUICtrlSetState($lbl_passwort, $gui_hide)
GUICtrlSetState($Label1, $gui_hide)
GUICtrlSetState($Group1, $gui_hide)
GUICtrlSetState($chk_showpw, $gui_hide)
GUICtrlSetState($Label2, $gui_hide)
GUICtrlSetState($Input_user, $gui_hide)
GUICtrlSetState($Label3, $gui_hide)
_WriteLogData("Controls ausgeblendet.")
EndFunc ;==>_Ausblenden
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Controls einblenden
Func _Einblenden()
GUICtrlSetState($fortschritt, $gui_show)
GUICtrlSetState($lbl_fortschritt, $gui_show)
GUICtrlSetState($Label1, $gui_show)
GUICtrlSetState($lbl_passwort, $gui_show)
GUICtrlSetState($btn_verbinden, $gui_show)
GUICtrlSetState($Group1, $gui_show)
GUICtrlSetState($chk_showpw, $gui_show)
GUICtrlSetState($Label2, $gui_show)
GUICtrlSetState($Input_user, $gui_show)
GUICtrlSetState($Label3, $gui_show)
_WriteLogData("Controls eingeblendet.")
EndFunc ;==>_Einblenden
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _Startup()
;Test ob eine Internetverbindung besteht
$InternetOK = _TestOnInternetConnect();
;Wenn ja Controls einblenden und Eingabe abwarten
If $InternetOK = True Then
_Einblenden()
;Wenn nicht auch einblenden und Verbindungsart auf UMTS setzen.
ElseIf $InternetOK = False Then
;_Einblenden()
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine Internet Verbindung." & @CRLF & @CRLF & "Bitte stellen Sie erst eine Internetverbindung her.")
_WriteLogData("Keine Internetverbindung, .")
Sleep(3000)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firmaConnect wird beendet." & @CRLF & @CRLF & "")
Sleep(3000)
_Terminate()
EndIf
GUICtrlSetData($lbl_info, @CRLF & "Bereit zum Verbinden." & @CRLF & @CRLF & "Bitte geben Sie Benutzername und Passwort ein," & @CRLF & "und klicken Sie auf Verbinden oder drücken Sie Enter.")
GUICtrlSetState($Input_user, $GUI_FOCUS)
EndFunc ;==>_Startup
[/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Abprüfen einer VPN-Verbindung
Func _VPNTest()
$PingOnServer1 = Ping($Testserver, 1000)
; Wenn die VPN-Verbindung nicht besteht wird das Unterprogramm StartVPNConnect aufgerufen
If $PingOnServer1 > 0 Then
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht bereits eine VPN Verbindung.")
_WriteLogData("VPN verbiondung besteht bereits. Antwortzeit: " & $PingOnServer1)
Sleep(3000)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firma Connect wird beendet.")
Sleep(1000)
_Terminate()
EndIf
EndFunc ;==>_VPNTest
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Unterfunktion : Internetverbindung testen
Func _TestOnInternetConnect()
Local $PingVar, $RoundTrip ; $PingVar ist auch der Rückgabeparameter
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Internetverbindung wird getestet.")
Sleep(1000)
For $RoundTrip = 1 To 3
; !!! Hier sollte nicht nur eine! Domain abgefragt werden
$PingVar = Ping($Testdomain, 1000) ;Ping gibt die Antwortzeit in ms zurück
If $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war
$PingVar = Ping($Testserver, 100) ; Ping gibt die Antwortzeit in ms zurück
EndIf
If $PingVar > 0 Then ; Wenn ein ping (Domäne oder Host)erfolgreich war
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Internetverbindung besteht." & @CRLF & @CRLF & "Die Antwortzeit beträgt " & $PingVar & " ms.")
Sleep(500)
_WriteLogData("Intenetverbindung besteht. Antwortzeit: " & $PingVar)
Else
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Internetverbindung ist nicht erfolgt" & @CRLF & @CRLF & "Verbindung wird erneut getestet " & $RoundTrip)
EndIf
Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Return $PingVar ; $PingVar ist der Rückgabeparameter
EndFunc ;==>_TestOnInternetConnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _VPNConnect()
;Fortschritt anziegen:-)
GUICtrlSetData($fortschritt, 10)
;If BitAND(GUICtrlRead($radio_dsl), $GUI_CHECKED) = $GUI_CHECKED Then
_StartVPNConnect()
GUICtrlSetData($fortschritt, 20)
;_GetUserAD()
GUICtrlSetData($fortschritt, 30)
;~ _Update()
Sleep(500)
GUICtrlSetData($fortschritt, 40)
_MapDrive()
GUICtrlSetData($fortschritt, 50)
GUICtrlSetData($fortschritt, 60)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Abschliessende Einstellungen.")
GUICtrlSetData($fortschritt, 90)
;EndIf
;Wenn UMTS RadioButton aktiv ist
;If BitAND(GUICtrlRead($radio_umts), $GUI_CHECKED) = $GUI_CHECKED Then
; _StartUMTSInternetConnect()
; GUICtrlSetData($fortschritt, 20)
; Sleep(2000)
; _GetUserAD()
; GUICtrlSetData($fortschritt, 30)
;~ _Update()
; Sleep(500)
; GUICtrlSetData($fortschritt, 40)
; _MapDrive()
; GUICtrlSetData($fortschritt, 50)
; Sleep(500)
; GUICtrlSetData($fortschritt, 60)
; GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Abschliessende Einstellungen.")
; GUICtrlSetData($fortschritt, 90)
;EndIf
;gpupdate und BG info
_WriteIPLOG()
Run("gpupdate", "", @SW_HIDE)
GUICtrlSetData($fortschritt, 100)
Sleep(500)
_WriteLogData("gpudate gestartet")
;tadaaaaaa
SoundPlay(@ScriptDir & "\logon.wav", 1)
;Exit
GUISetState(@SW_HIDE, $Mainform)
_WriteLogData("Verbinidungsaufbau abgeschlossen.")
;$childform zur aktiven GUI machen
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $Childform)
GUICtrlSetData($lbl_ip, "IP Adresse: " & @IPAddress1)
HotKeySet("{ESC}", "_nichts")
GUISwitch($Childform)
EndFunc ;==>_VPNConnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _StartVPNConnect()
;~ VPN verbindung aufbauen
GUICtrlSetState($btn_verbinden, $GUI_DISABLE)
GUICtrlSetState($lbl_passwort, $GUI_DISABLE)
GUICtrlSetState($chk_showpw, $GUI_DISABLE)
;Variablendeklaration
Local $PingVar, $RoundTrip, $InitTime, $PID
$passwort = GUICtrlRead($lbl_passwort)
$ConnectionName = ("firma-VPN-Verbindung")
$Testserver = "dc.firma.intern"
$Einwahluser = GUICtrlRead($Input_user)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.");& @CRLF & "und mit Server erbunden")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Connect = RunWait("rasdial " & $ConnectionName & " " & $Einwahluser & " " & $passwort & " /domain:coo.local", "", @SW_DISABLE)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]_WriteLogData("Rasdial ausgeführt.")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Runwait liefert im Fehlerfall 0 zurück.Der exitcode für cmd ist aber 0 also <>0:-)
[/autoit] [autoit][/autoit] [autoit]If $Connect <> 0 Then
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Bei der Verbindung trat ein Fehler auf." & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
Sleep(3000)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firma Connect wird beendet")
Sleep(2000)
_WriteLogData("verbindung fehlgeschlagen. firmaConnect wir beendet")
ProcessClose($Connect)
Exit
EndIf
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.")
Sleep(1000)
$PingVar = Ping($Testserver, 1000)
$InitTime = TimerInit()
While $PingVar = 0
Sleep(100)
;Abbruch wenn nach 15 sekunden keine Antwort vom DC
If TimerDiff($InitTime) > 15000 Then
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Verbindungsfehler (Passwort falsch?)" & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
Sleep(10000)
ProcessClose($Connect)
Exit
EndIf
$PingVar = Ping($Testserver, 1000) ;sonst ändert sich $pingvar nicht:-)
WEnd
;Was fürs Auge
GUICtrlSetData($fortschritt, 20)
Sleep(250)
GUICtrlSetData($fortschritt, 30)
Return $PingVar
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_StartVPNConnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;Netzlaufwerke verbinden
Func _MapDrive()
;$LogonServer = "\\dc.firma.intern"
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Ihre Netzwerklaufwerke werden verbunden.")
FileCopy(@LogonServer & "\netlogon\login-berlin.bat", @ScriptDir & "\login.bat")
RunWait(@ScriptDir & "\login.bat", "", @SW_HIDE)
For $RoundTrip = 1 to 3
[/autoit] [autoit][/autoit] [autoit]$Drive = DriveGetDrive( "network" )
If NOT @error Then
GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Netzlaufwerke erfolgreich verbunden.")
Else
GUICtrlSetData($lbl_info,@CRLF & @CRLF & "Netzlaufwerke noch nicht verbunden." &@CRLF & @CRLF & "Bitte warten...")
RunWait(@ScriptDir & "\login.bat","",@SW_HIDE)
EndIf
Next
_WriteLogData("Netzlaufwerke verbunden.")
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Netzwerklaufwerke erfolgreich verbunden.")
Sleep(500)
Return
EndFunc ;==>_MapDrive
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _VPNStatus()
;~ schreibt Texte und macht das Textfeld in der Childform bunt, damit die Leute immmer sehen wie schnell sie verbunden sind
$Connection = Ping($Testserver, 1000)
While $Connection = 0
GUICtrlSetBkColor($lbl_info2, 0xFFFFFF)
GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt.")
Sleep(1000)
$Connection = Ping($Testserver, 1000)
WEnd
GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Antwortzeit beträgt:" & @CRLF & $Connection & " ms.")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$Connection = Ping($Testserver, 1000)
Sleep(5000)
If $Connection > 350 Then
GUICtrlSetData($lbl_info2, "Achtung!" & @CRLF & "Sehr langsame Verbindung!" & @CRLF & "Arbeit nur unter Schwierigkeiten möglich!")
GUICtrlSetBkColor($lbl_info2, 0xFF0000)
_WriteLogData("UMTS Geschwindingkeitswarnung. Antwortzeit: " & $Connection)
ElseIf $Connection > 200 Then
GUICtrlSetBkColor($lbl_info2, 0xFFFF00)
GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Verbindungsgeschwindigkeit ist:" & @CRLF & "gut")
ElseIf $Connection < 200 Then
GUICtrlSetBkColor($lbl_info2, 0x66FF00)
GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Verbindungsgeschwindigkeit ist:" & @CRLF & "Sehr gut")
;Warnmeldung wenn Verbindungsgeschwindigkeit zu langsam
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndIf
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_VPNStatus
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;VPN Verbindung trennen und Netzlaufwerke trennen
Func _VPNDisconnect()
GUICtrlSetBkColor($lbl_info2, 0xFFFFFF)
GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma wird getrennt." & @CRLF & @CRLF & "Netzlaufwerke werden getrennt.")
Run("rasdial /DISCONNECT", "", @SW_HIDE)
_WriteLogData("Verbindung getrennt.")
Sleep(1000)
Run("net use /delete * /YES", "", @SW_HIDE)
_WriteLogData("Netzlaufwerke getrennt.")
Sleep(1000)
Sleep(1500)
;Files wieder löschen.
;_DeleteFiles()
WinSetState("GlobeTrotter Connect", "", @SW_SHOW)
ControlClick("GlobeTrotter Connect", "", 1017)
Sleep(1000)
WinClose("GlobeTrotter Connect")
Sleep(500)
ProcessClose("GlobeTrotter Connect.exe")
Sleep(500)
GUICtrlSetData($lbl_info2, "Trennung erfolgt." & @CRLF & @CRLF & "Programm wird beendet.")
Exit
EndFunc ;==>_VPNDisconnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Exitus
Func _Terminate()
Exit 0
_WriteLogData("firmaConnect beendet")
EndFunc ;==>_Terminate
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func _nichts()
; die sit eine Nichtfunktion:-)
;wird gebraucht um das HotKeySet ESC = _Termiate wieder zurückzusetzen.
;Damit die das $childform nicht "versehentlich mit ESC schliessen...
EndFunc ;==>_nichts
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _showpw()
;~ zeigt das Passwort in Klartext an
If GUICtrlRead($chk_showpw) = $GUI_CHECKED Then
_GUICtrlEdit_SetPasswordChar($lbl_passwort)
GUICtrlSetState($lbl_passwort, $GUI_FOCUS)
Else
_GUICtrlEdit_SetPasswordChar($lbl_passwort, "*") ; hier das "*" verändern
GUICtrlSetState($lbl_passwort, $GUI_FOCUS)
EndIf
_WriteLogData("Passwort angezeigt.")
EndFunc ;==>_showpw
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _DeleteFiles()
;~ weg mit dem alten Zeuch
FileDelete(@ScriptDir & "\*.jpg")
_WriteLogData("JPGs wurden gelöscht")
FileDelete(@ScriptDir & "\*.wav")
_WriteLogData("WAV wurde gelöscht")
EndFunc ;==>_DeleteFiles
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
;----------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func _WriteIPLOG()
[/autoit] [autoit][/autoit] [autoit];~ Erstellt die IPinfo.txt. Wird für BGINfo benötigt
Local $LogData = "IPinfo.txt"
if not FileExists($LogData) Then
$FileCreateOK = _FileCreate($LogData)
Else
FileDelete($LogData)
EndIf
$LogFileID = FileOpen($LogData,1)
[/autoit] [autoit][/autoit] [autoit]FileWrite($LogFileID,@IPAddress1)
[/autoit] [autoit][/autoit] [autoit]FileClose($LogFileID)
[/autoit] [autoit][/autoit] [autoit]EndFunc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Func _esc($s)
Return StringReplace($s, '"', '""', 0, 1)
EndFunc ;==>_esc
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
Das alles baut eine VPN Verbindung auf, mappt Laufwerke und zeigt dann in einem kleinen Fenster ($Childform)die Verbindungs"qualität" an.
Diese "Qualität" ermittle ich mit der Funtion _VPNStatus in Zeile 129. Jetzt hab icvh gemerkt dass die da eigentlcih falsch ist. So wird alles ein bißchen ruckelig.
ich hab auch versucht die woanders aufzurufen aber bekomme es nicht hin dass dann die Childform aktiv ist. Es geht zwar aber dann funktioniert der trennen Button nicht mehr.
_VPNStatus muss ja "immer" laufen wenn der Verbindungsaufbau abgeschlossen ist.
Aber wo rufe ich die am schlausten auf?