1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. skorpion-de

Beiträge von skorpion-de

  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 23. November 2016 um 18:24

    Danke für die Hilfe

    jetzt hab ich das passwort in der ini datei aber verschlüsselt

    KeePass_Starten

    AutoIt
    Opt("SendKeyDelay", 100) ;50 milliseconds default 5
    Opt("WinWaitDelay", 500) ;1000 milliseconds default 250
    Opt("MustDeclareVars", 1) ;0=no, 1=require pre-declaration default 0
    Opt("WinTitleMatchMode", 1) ;Alters the method that is used to match window titles during search operations. 1 = (default) Match the title from the start
    #include <File.au3>
    #include <Crypt.au3>
    #include <MsgBoxConstants.au3>
    
    
    Global $iniPfad ;ini Dateipfad
    Global $PP ;ProgrammPfad
    Global $DP ;DatenbankPfad
    Global $Parameter ;KeePass Kennwort
    HotKeySet("{ESC}", "kill")
    
    
    
    
    $iniPfad = @ScriptDir & "\pw.ini" ;Variable Pfad und Datei - Diese Datei sollte bereits existieren
    
    
    $PP = IniRead($iniPfad, "KeePass", "Url1", "")
    $DP = IniRead($iniPfad, "KeePass", "Url2", "")
    $Parameter = IniRead($iniPfad, "KeePass", "Parameter", "")
    
    
    Local Const $sUserKey = "PassWort16+-" ; Declare a password string to decrypt/encrypt the data.
    
    
    $Parameter = _Crypt_DecryptData($Parameter, $sUserKey, $CALG_RC4) ; Decrypt the data using the generic password string. The return value is a binary string.
    
    
    $Parameter=BinaryToString($Parameter)
    
    
    ShellExecute($PP, $DP & " /pw:" & $Parameter)
    
    
    Exit
    
    
    Func kill()
    Exit
    EndFunc   ;==>kill
    Alles anzeigen

    Passwort setzen

    AutoIt
    #include <Crypt.au3>
    #include <MsgBoxConstants.au3>
    
    
    
    
    Global $iniPfad ;ini Dateipfad
    
    
    
    
    $iniPfad = @ScriptDir & "\pw.ini" ;Variable Pfad und Datei - Diese Datei sollte bereits existieren
    
    
    Local $Parameter = InputBox("Sicherheitscheck", "Bitte geben Sie ein Passwort ein.", "", "*M") ; InputBox für Passwort
    
    
    
    
    Local Const $sUserKey = "PassWort16+-" ; Declare a password string to decrypt/encrypt the data.
    
    
    Local $sData = $Parameter ; Data that will be encrypted.
    Local $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4) ; Encrypt the data using the generic password string.
    
    
    IniWrite($iniPfad, "KeePass", "Parameter", $bEncrypted)
    
    
    Exit
    Alles anzeigen
  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 23. November 2016 um 08:07

    Hallo Kanashus,

    das wöre mir natürlich am liebsten, jedoch habe ich mit
    _Crypt_EncryptData
    _Crypt_DecryptData
    absolut keine erfahrung. Benögtigt man dazu ein separates ver- und entsschlüsselungsprogramm?

  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 21:35

    Ist mir alles bewusst, für privat ist das auch nicht gedacht sondern für die Arbeit wo es nervig ist ständig die Passwörter einzugeben, z.T. auch bei Programmen die nach einer kurzen Zeit x ohne Benutzung sich sperren.
    Auf der Arbeit in einem "gesicherten" Bereich kann man das so machen ohne das es zu große Probleme gibt.

    Das mit der Sicherheit ist mir schon bewusst, genau darum will ich auch von der batch Datei weg um die KeePass Datenbank zu öffnen.
    In einer ini-Datei ist sie etwas unauffälliger als in einer batch Datei,

  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 21:20

    Die ini-Datei
    die Pfade müssen in doppelte Anführungszeichen

    AutoIt
    [KeePass]
    Url1=""C:\Program Files (x86)\KeePass2x\Keepass.exe""
    Url2=""x:\Eigene Dateien\Olaf.kdbx""
    Parameter=" /pw:passwort"


    AutoIt
    Global $iniPfad ;ini Dateipfad
    Global $PP ;ProgrammPfad
    Global $DP ;DatenbankPfad
    Global $Parameter ;KeePass Kennwort
    
    
           $PP = IniRead ($iniPfad, "KeePass", "Url1","")
           $DP = IniRead ($iniPfad, "KeePass", "Url2","")     
    $Parameter = IniRead ($iniPfad, "KeePass", "Parameter","")
    
    
    ShellExecute ($PP, $DP & $Parameter)
    Alles anzeigen
  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 21:02

    sobald ich es mit den variablen geschafft habe poste ich die lösung

  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 20:40

    So funktioniert es


    AutoIt
    ShellExecute ("c:\Program Files (x86)\KeePass2x\KeePass.exe", '"x:\Eigene Dateien\Datenbank.kdbx"'& " /pw:passwort")

    Die Anführungszeichen benötigt man wegen den Leerzeichen im Pfad

    Danke für die Hilfe

    Jetzt werde ich das noch mit Variablen versuchen damit ich das aus einer ini Datei auslesen kann

  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 19:49
    AutoIt
    ShellExecute ('"c:\Program Files (x86)\KeePass2x\KeePass.exe"','"x:\Eigene Dateien\Datenbank.kdbx"',' /pw:passwort')

    Jetzt startet zwar das Programm und die Datenbank, jedoch wird das Passwort für die Datenbank noch nicht eingetragen
    egal ob ich den Parameter wie folgt eingegeben habe

    AutoIt
    ' /pw:passwort'
    oder 
    '/pw:passwort'
    oder
    'passwort'
  • ShellExecute mit Programmpfad und Datenbankpfad

    • skorpion-de
    • 22. November 2016 um 17:51

    Hallo
    leider komme ich nicht weiter trotz vielfacher versuche.

    ich möchte über ShellExecute ein Programm starten das ich seither über cmd starte.
    Der Startbefehl lautet wie folgt in der cmd
    start "" "C:\Program Files (x86)\KeePass2x\Keepass.exe" "x:\Eigene Dateien\KeePassDatenbank.kdbx" /pw:passwort

    Ich konnte aber seither Autoit nicht dazu bewegen das Programm mit der Datenbank zu starten
    Ich habe versucht die zwei Pfade in Varablen aneinander zu fügen aber auch das hatte keinen Erfolg
    ShellExecute (""c:\Program Files (x86)\KeePass2x\KeePass.exe""&" "&""x:\Eigene Dateien\Olaf.kdbx"",$Parameter)

    Danke im Voraus für die Hilfe

  • Controlsend mit ControlID

    • skorpion-de
    • 27. November 2015 um 20:07

    Hmm jetzt sehe ich gerade das die ID unter Control sich ständig ändert :(

  • Controlsend mit ControlID

    • skorpion-de
    • 27. November 2015 um 19:57
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Description=KeePass starten mit Passwort
    #AutoIt3Wrapper_Res_Fileversion=3.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Olaf Gremmel
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    Opt("SendKeyDelay", 30) ;50 milliseconds default 5
    Opt("WinWaitDelay", 500) ;1000 milliseconds default 250
    Opt("MustDeclareVars", 1) ;0=no, 1=require pre-declaration default 0
    #include <Excel.au3>

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

    Global $oExcel
    Global $Pfad
    Global $oWorkbook
    ;Global $B16 ;KeePass Benutzername
    Global $C16 ;KeePass Kennwort
    Global $D16 ;ProgrammPfad
    Hotkeyset("{ESC}","kill")

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

    Local $oExcel = _Excel_Open(0,0,0,0,1) ;Variable Excel Öffnen
    Local $Pfad = @ScriptDir & "\Datei_V3.xlsx" ;Variable Pfad und Datei - Diese Datei sollte bereits existieren
    Local $oWorkbook = _Excel_BookOpen($oExcel, $Pfad) ; Variable Workbook inklusiv Excel öffnen und Pfad

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

    ;$B15 = _Excel_RangeRead($oWorkbook,"Tabelle1", "B16")
    $C16 = _Excel_RangeRead($oWorkbook,"Tabelle1", "C16")
    $D16 = _Excel_RangeRead($oWorkbook,"Tabelle1", "D16")

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

    _Excel_Close($oExcel)

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

    ;ShellExecute ($D16)
    ;Sleep (1000)
    WinWait ("Datenbank öffnen","",3)

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

    #cs
    While Not WinExists ("P.FVC","")
    WEnd
    #ce

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

    Local $hWnd = WinGetHandle("Datenbank öffnen","Master-&Passwort:")
    If Not WinActive ($hWnd,"") Then WinActivate ($hWnd,"")
    WinWait ($hWnd,"",3)

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

    ;Controlsend (
    ;ControlSend ("","","ID:985992",$C16,1)
    ControlSend ($hWnd,"","",$C16,1)
    ControlSend ($hWnd,"","","{ENTER}",0)

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

    Exit

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

    func kill()
    Exit
    Endfunc

    [/autoit]

    Dateien

    CntlID.PNG 70,38 kB – 0 Downloads
  • Controlsend mit ControlID

    • skorpion-de
    • 27. November 2015 um 17:37

    klappt leider nicht, auch nicht wenn ich einen Fenster Titel angebe

  • Controlsend mit ControlID

    • skorpion-de
    • 27. November 2015 um 15:47

    Hallo,

    wie muß ich bei Controlsend die ControlID eingeben?

    [autoit]


    ControlSend ("","","[ID:985992]",$C16,1)

    [/autoit]

    Im Infofenster wird mir die ID als Zahl angezeigt
    Die ID ist aus dem KeePass Fenster für das Masterpasswort

  • Strg+Alt+a für Keepass

    • skorpion-de
    • 22. November 2015 um 19:19

    Danke für die schnelle Hilfe

  • Strg+Alt+a für Keepass

    • skorpion-de
    • 22. November 2015 um 18:28

    Hallo
    ich brauche Hilfe in Verbindung mit Keepass
    Die Benutzernamen und Passwörter sind in Keepass abgelegt.
    Mit Strg+Alt+a kann man die entsprechende Anwenung übergeben lassen

    Leider klappt Strg+Alt+a nicht wenn ich das mit Autoit machen möchte.

    Kann mir jemand weiterhelfen?

    [autoit]


    Send ("^ALT{a}",0)

    [/autoit]
  • Schleife bis Fenster vorhanden ist

    • skorpion-de
    • 30. Oktober 2015 um 12:21

    Decompilieren geht leider nicht und die Programme hier auf der Arbeit sind schon recht umfangreich

  • Schleife bis Fenster vorhanden ist

    • skorpion-de
    • 30. Oktober 2015 um 10:13

    Leider habe ich mit dem WinWait nicht den Erfolg wie mit der While schleife.

    Derzeit habe ich die besten Ergebnisse mit diesem Code.

    Wobei es mir alles noch nicht richtig gefällt
    Schöner wäre es wenn ich das ganze im Hintergrund laufen lassen könnte ohne das das Fenster aktiv sein muß. Aber vermutlich werde ich das wegen dem Java nicht hin bekommen

    [autoit]


    While Not WinExists ("Anmeldung","")
    WEnd

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

    Local $hWnd = WinGetHandle("[Class:IEFrame]","")
    If Not WinActive ($hWnd,"") Then WinActivate ($hWnd,"")
    WinWaitActive ($hWnd,"",10)

    [/autoit]
  • Titel und Class eines Fenster für eindeutige Bestimmung

    • skorpion-de
    • 30. Oktober 2015 um 10:08

    Hallo

    leider muß ich mich hier mit Java Fenstern herumschlagen.
    Für die Eindeutige Bestimmung wäre es hilfreich wenn ich Titel und Class zusammen z.b. für WinWait oder verwenden könnte.

    Wie müsste das aussehen wenn ich Titel und Class zusammen verwenden will?

  • Schleife bis Fenster vorhanden ist

    • skorpion-de
    • 27. Oktober 2015 um 11:25

    Wie baue ich eine Schleife die abfragt ob ein Fenster exsistiert
    wenn nicht zum anfang der schleife springt
    wenn ja dann die Daten einträgt

    Die Func Funktion verstehe ich irgendwie nicht
    und Goto gibt es nicht
    WinWait funktioniert irgendwie nicht sauber oder ich verstehe nicht warum WinWait nicht auf das Fenster wartet

    [autoit]


    if WinExists ("Fred Login","") Then

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

    Local $hWnd = WinGetHandle("Fred Login","")

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

    If Not WinActive ($hWnd,"") Then WinActivate ($hWnd,"")
    WinWait ($hWnd,"",10)

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

    ControlSend ($hWnd,"","",$A1,1)
    ControlSend ($hWnd,"","","{TAB}{ENTER}",0)

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

    else

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

    EndIf

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

    Danke vorab für die Hilfe

  • FileVersion setzen für exe mit Build

    • skorpion-de
    • 26. Oktober 2015 um 18:27

    Supi, funzt aber nicht mit der light Version die bei der Paket installation dabei ist.
    Mit der Vollversion von Scite alles bestens

    Danke

  • Controlsend - Wie spreche ich das richtig an?

    • skorpion-de
    • 25. Oktober 2015 um 12:30

    Nun ich lese aus Excel Benutzername und Passwort aus und übergebe diese einer Variablen.
    Danach starte ich die Web-Anwendung und möchte die dort eintragen.

    Das Eintragen funktioniert, entweder mit Send. aber das ist unschön
    Mit Controlsend funktioniert das nur, wenn ich im Befehl Controlsend den Namen des Fenster nicht angebe dafür aber die controlID wobei die controlID bei jeder Webanwendung gleich ist.
    Sollte warum auch immer 2 Scripte gleichzeitig versuchen eine Variable einzutragen, könnte ich mir vorstellen das das in die Hose geht, weil eben das Fenster nicht explizit angegebn ist sei es über den Fenster- Titel oder das Handle
    Mit dem Fenster Titel geht es nicht
    Und mit dem Handle komme ich nocht nicht zurecht den richtig auszulesen

    Ich muß es aber Browser unabhängig machen.

    ControlSend ( "title", "text", controlID, "string" [, flag = 0] )
    ControlSend ("Anmeldung","","",$C1) - funktioniert so nicht nicht
    ControlSend ("","","[CLASS:Internet Explorer_Server; INSTANCE:1]",$C1) - funktioniert so, aber leider ohne Fenstername

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™