gelöst

  • Das liegt einfach daran dass iniRead und sonstiges im ersten Parameter den Pfad + Dateinamen haben will.

    @ScriptDir gibt aber nur den Pfad an. D.h. du musst sowas schreiben:

    [autoit]

    If iniRead(@WorkingDir & $DATEINAME, ...)

    [/autoit]

    Gruß

    Prajoss

    ps: evtl ist es auch

    [autoit]

    @WorkinDir & "\" & $DATEINAME

    [/autoit]

    das musst du dann selbst rausfinden, hab ich nich so genau im Kopf

    "Never touch a running System!"

  • Code
    @ScriptDir & "\" & "config.ini"

    Funktioniert, danke.


    Edit: Mist, beim 2. Start wird einfach nur Windows Explorer mit Desktop geöffnet. Also wenn er die Pfade aus der config.ini bekommen soll :wacko:

    Einmal editiert, zuletzt von ShyroN (23. Februar 2009 um 17:00)

  • Probier mal so (vorher ini löschen):

    Spoiler anzeigen
    [autoit]

    If iniRead (@ScriptDir & "\" & "config.ini" , "config", "calculator", "") = "" Then
    $calculator = FileOpenDialog ( "calculator auswählen", "C:/", ".exe (*.exe)" ,"" , "calculator")
    iniWrite (@ScriptDir & "\" & "config.ini" , "config", "calculator", $calculator)
    else
    $calculator = IniRead (@ScriptDir & "\" & "config.ini" , "Config", "calculator", "")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If iniRead (@ScriptDir & "\" & "config.ini" , "config", "Sniffer", "") = "" Then
    $Sniffer = FileOpenDialog ( "Sniffer auswählen", "C:/", ".exe (*.exe)" ,"" , "Sniffer")
    iniWrite (@ScriptDir & "\" & "config.ini" , "config", "Sniffer", $Sniffer)
    else
    $Sniffer = IniRead (@ScriptDir & "\" & "config.ini" , "Config", "Sniffer", "")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Sniffer starten
    If not WinExists( "Sniffer") Then
    Run($Sniffer)
    WinWait("login")
    WinActivate("login")
    Sleep(250)
    Send("{Enter}")
    Sleep(500)
    WinWait("Sniffer")
    Sleep(1000)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;calculator starten
    Send("{LWINDOWN}")
    Send("{r}")
    Send("{LWINUP}")
    Sleep(200)
    Send($calculator)
    Sleep(500)
    Send("{Enter}")
    Exit

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Morgen,

    Deine Frage ist sehr weitfächernd, du musst versuchen die Fragen so präzise wie möglich zu stellen (das geht in dem du möglichst viele Details angibst)

    ein Beispiel (Da ich nicht genau weiß was du willst):


    [autoit]

    #include <GuiConstantsEx.au3>

    [/autoit][autoit][/autoit][autoit]

    ; GUI
    $GUI = GUICreate("GUI Name", 300, 200)

    [/autoit][autoit][/autoit][autoit]

    ; Input-Feld 1 mit einem Label davor
    $Label_1 = GUICtrlCreateLabel("ID eingeben:", 10, 10, 85, 30)
    $Input_1 = GUICtrlCreateInput("", 100, 10, 100, 30)

    [/autoit][autoit][/autoit][autoit]

    ; Input-Feld 2 mit einem Label davor
    $Label_2 = GUICtrlCreateLabel("PW eingeben:", 10, 50, 85, 30)
    $Input_2 = GUICtrlCreateInput("", 100, 50, 100, 30)

    [/autoit][autoit][/autoit][autoit]

    ; Button zum Speichern erstellen
    $Save = GUICtrlCreateButton("Save", 30, 100, 80, 30)

    [/autoit][autoit][/autoit][autoit]

    ; Button zum Abbrechen erstellen
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 150, 100, 110, 30)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; GUI initialisieren
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    ; Auf Aktionen im GUI reagieren
    While 1

    [/autoit][autoit][/autoit][autoit]

    $msg = GUIGetMsg()

    [/autoit][autoit][/autoit][autoit]

    ; Beende Programm
    If $msg == $Abbrechen Or $msg == $GUI_EVENT_CLOSE Then ExitLoop

    ; Führe Aktionen aus beim Drücken auf "Save"
    If $msg == $Save Then
    ;Breche ab wenn das ID-Feld leer ist
    If GUICtrlRead($Input_1) == "" Then
    MsgBox( 64, "Achtung!", "Die ID wurde nicht eingetragen!")
    ContinueLoop
    EndIf
    ;Breche ab wenn das PW-Feld leer ist
    If GUICtrlRead($Input_2) == "" Then
    MsgBox( 64, "Achtung!", "Das PW wurde nicht eingetragen!")
    ContinueLoop
    EndIf
    ;Schreibe ID und PW in eine Ini-Datei
    iniWrite ( @ScriptDir & "\" & "Test.ini", "TEST", "ID", GUICtrlRead($Input_1))
    iniWrite ( @ScriptDir & "\" & "Test.ini", "TEST", "PW", GUICtrlRead($Input_2))
    EndIf
    WEnd

    [/autoit]

    Ich habe versucht alles genau zu kommentieren..
    Wenn du Fragen zu einzelnen Befehlen hast, schaue bitte in der Hilfe nach, dort steht alles sehr gut beschrieben (meistens jedenfalls *g*)

    Gruß

    Prajoss

    "Never touch a running System!"

    • Offizieller Beitrag

    Was hällst du davon deine Ursprüngliche Frage stehen zu lassen ? Da kann ja keine mehr nachvollziehen was du überhaupt wolltest . Wenn das jeder so machen würde , wäre das Forum für die Katz .Und keiner kann mehr aus dem Thread was lernen .Den THread auf gelöst setzen reicht vollkommen .