O.k. das nächste mal.
Hatte ich vorher nicht gesehen.
Beiträge von Camulus
-
-
Also um das "pushen" zu erklären.
Ich dachte ich hätte die Lösung gefunden und hab das in den Thread reingeschrieben und ihn als gelöst markiert. Funtioniert hatte es aber nicht, deswegen hab ich den Betrag wieder "geleert" und den Thread wieder auf offen gesetzt.
Wenn jetzt manche Leute meinen sie müssten deswegen den Thread ignorieren dann sollen sie das tun. Mir schien das die beste Möglichkeit zu sein. Ich finde solche "Du hast gepusht jetzt red ich nicht mehr mit dir" Beiträge genauso "sinnfrei". Es könnte ja durchaus möglich sein dass der Verfasser garnicht die Absicht hatte zu pushen!
Nichts desto trotz lass ich mich auch gerne belehren. Wie hätte ich es denn sonst in so einem fall machen sollen?@Protex:
Rufe ich den Pingtest so wie es ist nicht als letztes auf?
Es ist ja zumindest das letzte was ohne Usereingabe passiert. Momentan ist es so dass die Eingabefelder erscheinen und der Cursor anfängt zu blinken und dann rennt im 5 Sekunden Abstand der Test los.
Wenn die User jetzt ihre Credentials eingeben ruckelt alles halt ein bißchen und das würde ich gerne verhindern. Wenn ich den Test jetzt ans Ende setze (nach dem Verbindungsaufbau) ist mein $childform nicht mehr aktiv und der Button (trennen) funktioniert nicht mehr.Aufräumen? Wie würdest du es denn "aufbauen". Ich dachte es wäre so übesichtlich oder zumindest nachvollziehbar.
-
-ist doch noch nicht gelöst.
-
Hi,
ich habe gerade in meinem Script einen Fehler entdeckt:
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#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
[/autoit] [autoit][/autoit] [autoit]
Author: Boris WagenerScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]FileInstall("PKV.jpg", "C:\Firma\FirmaConnect\PKV.jpg", 1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#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
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1);-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "_Terminate");-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If FileDelete(@ScriptDir & "\*.log") = 1 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WriteLogData("Alte LOG Datei wurde erfolgreich gelöscht.")
EndIf;Verknüpfung austauschen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ 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))
[/autoit] [autoit][/autoit] [autoit]
_WriteLogData("firma Benutzer : " & @UserName)
_WriteLogData("LogonServer : " & @LogonServer)
_WriteLogData("LogonDomain : " & @LogonDomain)
_WriteLogData("LogonDNSDomain : " & @LogonDNSDomain)
_WriteLogData("Desktopverzeichnis: " & @DesktopCommonDir)
_WriteLogData("---------------------------------------------------------------------");-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;Los gehts
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;Main GUI aufrufen
[/autoit] [autoit][/autoit] [autoit]
_Mainform();ChildGui aufrufen, GuiSetState (@SW_HIDE), also versteckt. Diese GUI muss von Anfang an mitlaufen.
[/autoit] [autoit][/autoit] [autoit]
_Childform();Controls ausblenden bis Internetverbindung überbrüft ist
[/autoit] [autoit][/autoit] [autoit]
_Ausblenden(); Prüfen ob schon eine PN Verindung besteht
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_VPNTest(); Internet Verbindung testen, Controls einblenden, RadioButtos setzen, auf Passwort warten.
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;Hier geht es erst weiter wenn der Verbinden Button gedruckt wird.
; ab dann _VPNConnect()
_Startup();Antwortzeit der Verbindung ermitteln und in $Childgui anzeigen.
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_VPNStatus();Nicht die Reihenfolge er Function Aufrufe ändern!!!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Hauptprogramm:-)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
Sleep(500)
WEnd;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;############################################################################################################################################################
; Funktionen
;############################################################################################################################################################
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;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)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WriteLogData("Mainform erstellt")EndFunc ;==>_Mainform
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;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))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;~ Controls verstecken
Func _Ausblenden()GUICtrlSetState($fortschritt, $gui_hide)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;Controls einblendenFunc _Einblenden()
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _Startup();Test ob eine Internetverbindung besteht
[/autoit] [autoit][/autoit] [autoit]
$InternetOK = _TestOnInternetConnect();;Wenn ja Controls einblenden und Eingabe abwarten
[/autoit] [autoit][/autoit] [autoit]
If $InternetOK = True Then
_Einblenden();Wenn nicht auch einblenden und Verbindungsart auf UMTS setzen.
[/autoit] [autoit][/autoit] [autoit]
ElseIf $InternetOK = False Then
;_Einblenden()GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Es besteht keine Internet Verbindung." & @CRLF & @CRLF & "Bitte stellen Sie erst eine Internetverbindung her.")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WriteLogData("Keine Internetverbindung, .")
Sleep(3000)
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "firmaConnect wird beendet." & @CRLF & @CRLF & "")
Sleep(3000)
_Terminate()
EndIfGUICtrlSetData($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.")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Input_user, $GUI_FOCUS)EndFunc ;==>_Startup
[/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
; Abprüfen einer VPN-VerbindungFunc _VPNTest()
[/autoit] [autoit][/autoit] [autoit]
$PingOnServer1 = Ping($Testserver, 1000); Wenn die VPN-Verbindung nicht besteht wird das Unterprogramm StartVPNConnect aufgerufen
[/autoit] [autoit][/autoit] [autoit]
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()
EndIfEndFunc ;==>_VPNTest
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
; Unterfunktion : Internetverbindung testenFunc _TestOnInternetConnect()
[/autoit] [autoit][/autoit] [autoit]
Local $PingVar, $RoundTrip ; $PingVar ist auch der RückgabeparameterGUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Internetverbindung wird getestet.")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(1000)For $RoundTrip = 1 To 3
[/autoit] [autoit][/autoit] [autoit]
; !!! Hier sollte nicht nur eine! Domain abgefragt werden
$PingVar = Ping($Testdomain, 1000) ;Ping gibt die Antwortzeit in ms zurückIf $PingVar <= 0 Then ; Wenn ping nicht erfolgreich war
[/autoit] [autoit][/autoit] [autoit]
$PingVar = Ping($Testserver, 100) ; Ping gibt die Antwortzeit in ms zurück
EndIfIf $PingVar > 0 Then ; Wenn ein ping (Domäne oder Host)erfolgreich war
[/autoit] [autoit][/autoit] [autoit]
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)
EndIfNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Return $PingVar ; $PingVar ist der Rückgabeparameter
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_TestOnInternetConnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _VPNConnect();Fortschritt anziegen:-)
[/autoit] [autoit][/autoit] [autoit]
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.")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($fortschritt, 90)
;EndIf;Wenn UMTS RadioButton aktiv ist
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;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
[/autoit] [autoit][/autoit] [autoit]
_WriteIPLOG()
Run("gpupdate", "", @SW_HIDE)
GUICtrlSetData($fortschritt, 100)
Sleep(500)
_WriteLogData("gpudate gestartet")
;tadaaaaaa
SoundPlay(@ScriptDir & "\logon.wav", 1)
;ExitGUISetState(@SW_HIDE, $Mainform)
[/autoit] [autoit][/autoit] [autoit]
_WriteLogData("Verbinidungsaufbau abgeschlossen.");$childform zur aktiven GUI machen
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $Childform)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($lbl_ip, "IP Adresse: " & @IPAddress1)HotKeySet("{ESC}", "_nichts")
[/autoit] [autoit][/autoit] [autoit]
GUISwitch($Childform)EndFunc ;==>_VPNConnect
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _StartVPNConnect()
;~ VPN verbindung aufbauen
GUICtrlSetState($btn_verbinden, $GUI_DISABLE)
GUICtrlSetState($lbl_passwort, $GUI_DISABLE)
GUICtrlSetState($chk_showpw, $GUI_DISABLE);Variablendeklaration
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit]
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
EndIfGUICtrlSetData($lbl_info, @CRLF & @CRLF & "Bitte warten," & @CRLF & @CRLF & "VPN Verbindung mit firma wird hergestellt.")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(1000)$PingVar = Ping($Testserver, 1000)
[/autoit] [autoit][/autoit] [autoit]
$InitTime = TimerInit()
While $PingVar = 0
Sleep(100)
;Abbruch wenn nach 15 sekunden keine Antwort vom DC
If TimerDiff($InitTime) > 15000 ThenGUICtrlSetData($lbl_info, @CRLF & @CRLF & "Verbindungsfehler (Passwort falsch?)" & @CRLF & @CRLF & "Bitte versuchen Sie es erneut.")
[/autoit] [autoit][/autoit] [autoit]
Sleep(10000)
ProcessClose($Connect)
Exit
EndIf$PingVar = Ping($Testserver, 1000) ;sonst ändert sich $pingvar nicht:-)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEnd;Was fürs Auge
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($fortschritt, 20)
Sleep(250)
GUICtrlSetData($fortschritt, 30)Return $PingVar
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_StartVPNConnect
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;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" )
[/autoit] [autoit][/autoit] [autoit]
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.")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Netzwerklaufwerke erfolgreich verbunden.")
Sleep(500)
ReturnEndFunc ;==>_MapDrive
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor($lbl_info2, 0xFFFFFF)
GUICtrlSetData($lbl_info2, @CRLF & "Verbindungsgeschwindigkeit wird ermittelt.")
Sleep(1000)
$Connection = Ping($Testserver, 1000)
WEndGUICtrlSetData($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)
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor($lbl_info2, 0xFFFF00)
GUICtrlSetData($lbl_info2, "VPN Verbindung zu firma hergestellt." & @CRLF & "Die Verbindungsgeschwindigkeit ist:" & @CRLF & "gut")ElseIf $Connection < 200 Then
[/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;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)
[/autoit] [autoit][/autoit] [autoit]
_WriteLogData("Verbindung getrennt.")
Sleep(1000)
Run("net use /delete * /YES", "", @SW_HIDE)
_WriteLogData("Netzlaufwerke getrennt.")
Sleep(1000)Sleep(1500)
[/autoit] [autoit][/autoit] [autoit]
;Files wieder löschen.
;_DeleteFiles()
WinSetState("GlobeTrotter Connect", "", @SW_SHOW)
ControlClick("GlobeTrotter Connect", "", 1017)
Sleep(1000)WinClose("GlobeTrotter Connect")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(500)
ProcessClose("GlobeTrotter Connect.exe")
Sleep(500)
GUICtrlSetData($lbl_info2, "Trennung erfolgt." & @CRLF & @CRLF & "Programm wird beendet.")
Exit
EndFunc ;==>_VPNDisconnect
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
; Exitus
Func _Terminate()
Exit 0
_WriteLogData("firmaConnect beendet")
EndFunc ;==>_Terminate
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func _nichts()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 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
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;-------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _DeleteFiles();~ weg mit dem alten Zeuch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
FileDelete(@ScriptDir & "\*.jpg")
_WriteLogData("JPGs wurden gelöscht")
FileDelete(@ScriptDir & "\*.wav")
_WriteLogData("WAV wurde gelöscht")EndFunc ;==>_DeleteFiles
[/autoit] [autoit][/autoit] [autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------;----------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func _WriteIPLOG()
[/autoit] [autoit][/autoit] [autoit];~ Erstellt die IPinfo.txt. Wird für BGINfo benötigt
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $LogData = "IPinfo.txt"if not FileExists($LogData) Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$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
[/autoit]
;-------------------------------------------------------------------------------------------------------------------------------------------------------------
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? -
ini Datei hab ich auch schon gedacht für die ganzen Variablen die von Firma zu Firma unterschiedlich sind, ist aber noch Beta:-)
-
Also momentan liegt die Batch auf dem Logonserver in netlogon Verzeichnis.
[autoit]
Dieses Datei rufe ich dann auf:RunWait(@LogonServer & "\netlogon\logon.bat","",@SW_HIDE)
[/autoit]Das funktioniert soweit auch. Allerdings nicht immer zuverlässig. gerade bei UMTS verbindungen gibt es da schonmal Probleme.
Der Plan ist jetzt das alles in eine Schleife zu packen die nach den Ausführen überprüft ob die Netzlaufwerke da sind, und wenn nicht es eben nochmal ausführt. Maximal drei mal. Wenns dann immer noch nicht geklappt hat gibts ne entsprechende Meldung.Um dem UMTS Problem aus dem Weg zu gehen haben wir überlegt die Batch Datei erst ins @scriptidr zu kopieren und dann lokal auszufühen.
Wenn ich eine ini- Datei irgendwo im Netz liegen habe hab ich ja letztendlich wieder das selbe Problem. Ob das jetzt wirklich an einer wackeligen verbindung liegt muss natürlich noch getestet werden.
-
Danke dir.
Das ist eine von mehreren Möglicgkeiten die gerade diskutiert werden. Ob es das wird weiss man noch nicht.Das alles soll in ein Tool das die VPN Verbindung aufbaut und dann Laufwerke mappt. Momentan wird alles über eine Batchdatei gemappt.
Der Nachteil es über Auoit direkt zu machen wäre dass wenn sich änderungen ergeben eine neue Exe raus muss.Es sei denn ihr habt noch bessere Ideen

-
Genau das ist der Grund.
Rasdial haben alle.Ich hab für unsere Firma ein Tool gestrickt mit dem sich unsere User einwählen könne. Dann werden Laufwerke gemappt usw.
Dann sind wir aber mittleriweile mit unserem Mutterunternehmen und allen Schwestern zusammengezogen und sind jetzt eine große glückliche Familie. Jetzt hat man das noble Ziel einTool für alle.
Ein paar Sachen sind halt von Firma zu Firma verschieden und völlig einheitlich sind wir noch nicht.Bei uns zum Beispiel wird die PIN abfrage nicht deaktiviert. Soll sie auch nicht. Beim Mutterverband ist es mal so mal so.
Die Alternative wäre vielleicht noch ein einheitlicher UMTS Client den ich dann mit Autoit steuern kann.
-
hab ich beides nicht.
Ist ja nur eine Mobile Breitbandverbindung. Alles was ich hab ist eine Einwahlnummer von Vodafone -
dann guck ich mir das mal an!
Danke! -
also mit
[autoit]ShellExecute("rasdial.exe", '"Vodafone Mobile Connect" "1234"')
[/autoit]
funtioniert es nicht. -
Zitat
Afaik reicht es, den PIN als Parameter mitzugeben.
[autoit]ShellExecute("rasdial.exe", '"Vodafone Mobile Connect" "1234"')
[/autoit]Wenn nicht, dann befrag einfach mal google zum Thema "rasdial umts pin"
Parameter probier ich mal aus. Danke.
Google hab ich schon gefragt aber nix gefunden. Oder die Antwort überlesen. -
Wir nutzen zur Zeit eine batch Datei um laufwerke zu mappen:
[autoit]
So soeht die aus:REM @echo off
[/autoit][autoit][/autoit][autoit][/autoit][autoit]net use /delete * /YES
[/autoit][autoit][/autoit][autoit]net use G: \\Firmanname.local\dfs\Abteilung /persistent:no
[/autoit][autoit][/autoit][autoit]net use H: \\Firmanname.local\dfs\Home$\%username% /persistent:no
[/autoit][autoit][/autoit][autoit]net user /DOMAIN %username% | find "G-Betriebsrat"
[/autoit][autoit][/autoit][autoit]
if not errorlevel = 1 (
net use O: \\Firmenname.local\dfs\Betriebsrat /persistent:no
)net user /DOMAIN %username% | find "IT-Abt"
[/autoit][autoit][/autoit][autoit]
if not errorlevel = 1 (
net use S: \\Firmanname.local\dfs\Software /persistent:no
)net user /DOMAIN %username% | find "G-Buchhaltung"
[/autoit][autoit][/autoit][autoit]
if not errorlevel = 1 (
net use L: \\DATEVSERVER\Windvsw1 /persistent:nonet use M: \\DATEVSERVER\Windvsw2 /persistent:no
[/autoit][autoit][/autoit][autoit])
[/autoit]
G-betriebsrat, ITAbt und G-Buchhaltung sind AD Gruppen.
Kann man sowas mit DriveMappadd abbilden? So dass die Gruppenzugehörigkeit überprüft wird? -
und wo gebe ich die PIN ein?
-
Hi,
weiss jemand von euch wie ich ein Script bauen kann das eine UMTS Verbindung unter Windows 7 mit PIN abfrage aufbaut?
Hintergund ist mien VPN Tool, dass soll bei Bedarf per Klick eine Verbindung aufbauen. Ich weiss:-) das geht von hause aus mit einem Klick aber da drum herum passiert dann noch etwas mehr und unsere User sollen so wenig wie möglich selber machen "müssen" -
Das mit dem Array hat sich erledigt..vorerst:-)
Wer die Hilfe lesen kann ist klar im Vorteil
-
Hi,
es geht langsam aber sicher voran:
So soehts momentan aus:Spoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_Outfile=OTRS-Backup.exe
#AutoIt3Wrapper_Au3Check_Parameters= -q
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------AutoIt Version: 3.3.2.0
[/autoit] [autoit][/autoit] [autoit]
Author: myNameScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]
;############################################################################################################################################################; Wechsle in den OnEvent Modus
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1);~ GUICtrlSetOnEvent($btn_AddFile, "_AddFile")
[/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\b.wagener\Desktop\OTRS Update Tool\Mainform.kxfGlobal $index = 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $IniPath = @ScriptDir & "\Config.ini"$Form1 = GUICreate("OTRS BackupRestore", 824, 781, 192, 124)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent(-3, 'E')
GUISetIcon(@ScriptDir & "\BackupandRestoreOTRS.ico")
GUISetBkColor(0xFFFFFF)
$Label1 = GUICtrlCreateLabel("OTRS Pfad", 168, 120, 73, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$btn_OTRSPfad = GUICtrlCreateButton("Suchen", 520, 120, 131, 25, $WS_GROUP)
GUICtrlSetOnEvent($btn_OTRSPfad, "_AddOTRSDir")
$Label2 = GUICtrlCreateLabel("Backup Pfad", 168, 166, 84, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$btn_backupPfad = GUICtrlCreateButton("Suchen", 520, 166, 131, 25, $WS_GROUP)
GUICtrlSetOnEvent($btn_backupPfad, "_AddBackupDir")
$btn_AddDir = GUICtrlCreateButton("Hinzufügen", 136, 600, 131, 25, $WS_GROUP)
GUICtrlSetOnEvent($btn_AddDir, "_AddDir")
$btn_AddFile = GUICtrlCreateButton("Hinzufügen", 560, 600, 131, 25, $WS_GROUP)
GUICtrlSetOnEvent($btn_AddFile, "_AddFile")
$Label5 = GUICtrlCreateLabel("Verzeichnisse", 40, 220, 92, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Label6 = GUICtrlCreateLabel("Dateien", 440, 220, 53, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Input_OTRSPfad = GUICtrlCreateInput("Bitte OTRS Programmpfad eingeben", 264, 120, 241, 21)
$Input_backuppfad = GUICtrlCreateInput("Bitte Backuppfad eingeben", 264, 168, 241, 21)
$Button2 = GUICtrlCreateButton("((Backup", 232, 688, 150, 50, $WS_GROUP)
GUICtrlSetFont(-1, 16, 800, 0, "Arial")
$Button3 = GUICtrlCreateButton("((Restore", 425, 687, 150, 50, $WS_GROUP)
GUICtrlSetFont(-1, 14, 800, 0, "Arial")
$list_dir = GUICtrlCreateListView("Path", 40, 240, 350, 350)
$list_files = GUICtrlCreateListView("Path", 440, 240, 350, 350)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\BackupandRestoreOTRS.jpg", 0, 0, 100, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$btn_hilfe = GUICtrlCreateButton("?", 776, 8, 40, 40, $WS_GROUP)
GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###IniCheck() ; Scriptstart prüfung ob einträge vorhanden sind
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func IniCheck()
If Not FileExists($IniPath) Then Return ; Datei ist nicht vorhandenLocal $IniRead = IniReadSection($IniPath, 'FILE')
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If @error Then Return ;section konnte nicht gelesen werden
$index = $IniRead[0][0] +1
For $i = 1 To $IniRead[0][0]
GUICtrlCreateListViewItem($IniRead[$i][1], $list_files)
NextLocal $IniRead_dir = IniReadSection($IniPath, 'DIR')
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If @error Then Return ;section konnte nicht gelesen werden
$index_dir = $IniRead_dir[0][0] +1
For $i = 1 To $IniRead_dir[0][0]
GUICtrlCreateListViewItem($IniRead_dir[$i][1], $list_dir)
NextEndFunc ;==>IniCheck
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _AddFile()
$Path1 = FileOpenDialog("Suchen...", @HomeDrive, "Alle Dateien (*.*)", 3)
If $Path1 Then
IniWrite($IniPath, "FILE", $index, $Path1)
GUICtrlCreateListViewItem($Path1, $list_files)
$index += 1
EndIf
EndFunc ;==>_AddFile
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _AddDir()
$verzeichnis= Iniread(@scriptdir&"\Config.ini", "DIR", "Pfad", "")
$Path2 = FileSelectFolder("Verzeichnis", $verzeichnis)
If $Path2 Then
IniWrite($IniPath, "DIR", $index, $Path2)
GUICtrlCreateListViewItem($Path2, $list_dir)
$index += 1
EndIf
EndFunc
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _AddOTRSDir()
$verzeichnis= Iniread(@scriptdir&"\Config.ini", "OTRS_DIR", "Pfad", "")
Global $OTRSPfad = FileSelectFolder("Verzeichnis", $verzeichnis)
If $OTRSPfad Then
IniWrite($IniPath, "OTRS_DIR", "Pfad", $OTRSPfad)
GUICtrlSetData($Input_OTRSPfad,$OTRSPfad)EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _AddBackupDir()
$verzeichnis= Iniread(@scriptdir&"\Config.ini", "Backup_DIR", "Pfad", "")
Global $BackupPfad = FileSelectFolder("Verzeichnis", $verzeichnis)
If $BackupPfad Then
IniWrite($IniPath, "Backup_DIR","Pfad", $BackupPfad)
GUICtrlSetData($Input_backuppfad,$BackupPfad)EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _Backup()EndFunc
[/autoit] [autoit][/autoit] [autoit]
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _Restore()
EndFunc
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func E()
Exit
EndFunc ;==>E
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit]
While 1 * Sleep(10)
WEnd
;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Jetzt hab ich aber zwei Fragen:
[autoit]
-Kann man die Spaltenbreite in Listview einstellen? Also dass die Spalte direkt so breit ist wie das ListView?
- Wonach muss ich denn Suchen um meine Backuo und restore Functions zu füllen?
geplant ist sowas:DirCopy("C:\OTRS\otrs4win\Scripts", "C:\Backup_Update\OTRS\otrs4win\Scripts",1)
[/autoit]
Aber C:\OTRS\otrs4win\Scripts wäre ja dann ein Eintrag aus der ini- Datei. Wie bekomm eich es dazu alle Einträge aus einer bestimmten Sektion auszulesen?Das geht doch bestimmt mit einer Schleife und EOF oder sowas inder Art?
Kann mir einer sagen wo ich das finde? Oder gehts vioelleicht noch einfacher als ich es mir vorstelle?EDIT:
ich taste mich langsam ran:-)Spoiler anzeigen
[autoit]Func _Backup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $IniRead = IniReadSection($IniPath, 'FILE')
If @error Then Return ;section konnte nicht gelesen werden
$index = $IniRead[0][0] +1
For $i = 1 To $IniRead[0][0]
;~ GUICtrlCreateListViewItem($IniRead[$i][1], $list_files)
MsgBox(0,"",$IniRead[$i][1])
NextEndFunc
[/autoit]
;------------Aber ich kapier überhaupt nicht wie das mit dem Array funktioniert

Kann mir da mal jemand auf die Sprünge helfen?
-
Danke!!!
Mit deiner Hilfe kann ich meine wirren Ideen bestimmt verwirklichen
Ich bastel mal weiter und schrei dann bald wieder

-
kann es sein dass eine ini-Datei nicht das richtige ist?
Ich hab gerade mal nachgelsen... wirklich sinnvoll ist eine ini Datei ja nicht..das hatte ich anders in Erinnerung.
Oder wäre das eher was für _SQLite???
-
Ich wollte den Inhalt der ini Datei (Sektion) dann in das Edit Schreiben.
Das war zumidest der Plan
Der fromme Wunsch ist dass man sich die x- Dateien zusammenklickt die man sichern will und die dann nachher mit FileCopy und DirCopy in ein backup- verzeichnis verschiebt.