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. fd13_hsk

Beiträge von fd13_hsk

  • ShellExecute mit Parametern

    • fd13_hsk
    • 23. Juni 2016 um 10:47

    Vielen Dank BugFix für deine Hilfe, es funktioniert jetzt!! :part::part:

    Ich hab am ende nur noch mit Gänsefüßchen um mich geworfen, weil ich keine Ahnung hatte, warum es nicht geht :whistling:
    Werde mir deinen Tipp zu Herzen nehmen und die Strings zukünftig in Variablen erstellen.

    Nochmals vielen Dank!

  • ShellExecute mit Parametern

    • fd13_hsk
    • 23. Juni 2016 um 09:46

    Hallo liebe Forengemeinde,

    ich verzweifle hier gerade an einer eigentlich unkomplizierten Sache..
    Ich möchte per Skript ein Backup einer Firebird Datenbank mit aktuellem Datum und Uhrzeit machen.

    Mein Skript sieht bis jetzt folgendermaßen aus:

    AutoIt
    #include <date.au3>
    
    
    Dim $_date = StringReplace(_NowDate(),".", "_")
    Dim $_time = StringReplace(_NowTime(),":", "_")
    
    
    ShellExecute('C:\Program Files (x86)\Firebird\Firebird_2_5\bin\nbackup.exe', '-U sysdba -P masterkey -B 0 "C:\Datenbank\Database.FDB" "D:\Backups\Firebird\Database_"'& $_date & '"_"' & $_time & '".nbk"')


    Wenn ich die nbackup.exe mit den entsprechenden Parametern normal ausführe funktioniert alles wunderbar.
    Aus meinem Skript heraus funktioniert es allerdings noch garnicht. Ich glaube, dass ich da rein Fomatierungsfehler mit den Anführungszeichen und den Apostrophen habe, aber ich krieg es ums verrecken nicht hin.

    Wäre jemand so lieb und könnte mir verraten, was da falsch ist? :love:

    Im Voraus vielen Dank!

  • cmd Ausgabe übergeben

    • fd13_hsk
    • 25. August 2015 um 17:40

    Da war ich wohl etwas zu schnell...

    Das hier hat mich weiter gebracht:
    https://autoit.de/onlinehilfe/functions/StdoutRead.htm

    Kann geschlossen werden :)

  • cmd Ausgabe übergeben

    • fd13_hsk
    • 25. August 2015 um 17:10

    Hallo,

    ich habe ein kleines Skript geschrieben, mit dem über eine GUI Zertifikate mithilfe von certutil.exe zum Zertifikatsspeicher hinzugefügt werden können.
    Es funktioniert auch alles so wie gewollt, aber ich hände gerade an einem Problemchen fest:

    Ich suche eine Möglichkeit, die Ausgabe des certutil Befehls (siehe screenshots) auszulesen um nach dem Klick auf den "Importieren" Button auch eine Rückmeldung an den Anwender ausgeben zu können.

    Bei erfolgreicher Importierung, müsste ich also irgendwie das "Befehl wurde erfolgreich ausgeführt" auslesen:
    [Blockierte Grafik: http://www11.pic-upload.de/25.08.15/jufnfqyuoiu8.jpg]


    Bei einem falschen Kennwort beispielsweise käme folgende Meldung in der Konsole:
    [Blockierte Grafik: http://www11.pic-upload.de/25.08.15/6mh61hkw1py1.jpg]


    Ich hoffe, ich konnte mein Anliegen verständlich rüber bringen..

    Im voraus vielen Dank für eure Hilfe!!

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    Local $_Zertifikat
    Local $_Passwort
    
    
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Zertifikat Import", 548, 375, 559, 193)
    $Titel = GUICtrlCreateLabel("Zertifikat Import", 132, 32, 281, 53)
    GUICtrlSetFont(-1, 30, 800, 0, "Calibri")
    $Label2 = GUICtrlCreateLabel("Version: 1.0", 8, 352, 210, 18)
    GUICtrlSetFont(-1, 9, 800, 0, "Calibri")
    $Zertifikat_Feld = GUICtrlCreateInput("", 56, 160, 305, 23)
    GUICtrlSetFont(-1, 10, 400, 0, "Calibri")
    $Durchsuchen = GUICtrlCreateButton("Durchsuchen", 384, 152, 129, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Calibri")
    $Group1 = GUICtrlCreateGroup("Bitte geben Sie das Zertifikat an, dass importiert werden soll:", 24, 120, 513, 145)
    GUICtrlSetFont(-1, 9, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Importieren = GUICtrlCreateButton("Importieren", 152, 296, 105, 41)
    GUICtrlSetFont(-1, 10, 800, 0, "Calibri")
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 290, 296, 105, 41)
    GUICtrlSetFont(-1, 10, 400, 0, "Calibri")
    $Label1 = GUICtrlCreateLabel("Passwort des Zertifikats:", 56, 200, 138, 18)
    GUICtrlSetFont(-1, 9, 400, 0, "Calibri")
    $PW_Input= GUICtrlCreateInput("", 56, 216, 145, 23)
    GUICtrlSetFont(-1, 10, 400, 0, "Calibri")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    		Case $Durchsuchen
    			$_Zertifikat = FileOpenDialog("Bitte wählen Sie das Zertifikat aus.", "C:\", "Zertifikate (*.pfx;*.p12)", 1 + 2)
    			If Not @error Then GUICtrlSetData($Zertifikat_Feld, $_Zertifikat)
    
    
    		Case $Importieren
    			$_Passwort = GUICtrlRead($PW_Input)
    
    
    			If $_Passwort > "" Then
    
    
    				Run(@ComSpec & " /C " & 'certutil.exe -importpfx -p ' & $_Passwort & ' ' & $_Zertifikat,"", @SW_HIDE)
    
    
    
    
    			Else
    				MsgBox(16, "Passwort vergessen!", "Bitte geben Sie das Passwort für das Zertifikat ein!")
    			EndIf
    
    
    		Case $Abbrechen
    			Exit
    
    
    	EndSwitch
    WEnd
    Alles anzeigen
  • Ausgabe eines cmdlet übergeben

    • fd13_hsk
    • 28. Mai 2014 um 12:57
    Zitat von James


    Erstens musst du (wie auch im Beispiel zu sehen) den 4. Parameter von Run anpassen und zweitens steht deine Ausgabe in $_status_zcm, du gibst aber $_connect aus.


    Ahh, jetzt hab ichs...
    Vielen vielen Dank!! :thumbup:

  • Ausgabe eines cmdlet übergeben

    • fd13_hsk
    • 28. Mai 2014 um 12:15

    Zunächst einmal Danke für deinen Hinweis Oscar.
    Ich habe mir StdoutRead mal angesehen, leider bekomme ich immernoch nicht das gewünschte Ergebnis

    [autoit]

    Local $_abfrage = Run(@ComSpec & " /c " & 'ipconfig | find "IPv4-Adresse"', "", @SW_HIDE)
    Local $_connect

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

    While 1
    $_status_zcm = StdoutRead($_abfrage)
    If @error Then ExitLoop
    MsgBox(1, "STDOUT gelesen:", $_connect)
    WEnd

    [/autoit]

    Dieses Skript sollte mir ja das selbe ausgeben wie der Windows Befehl

    C:\Windows\System32\cmd.exe /K ipconfig | find "IPv4-Adresse"

    Leider funktioniert das nicht so wie gewollt, da die Schleife beendet wird (Rückgabewert: @error <> 0)

  • Ausgabe eines cmdlet übergeben

    • fd13_hsk
    • 28. Mai 2014 um 11:35

    Hallo liebe Forengemeinde,

    ich suche eine Möglichkeit, um die Ausgabe eines cmelets zu übergeben und in AutoIt zu verwenden.

    In meinem Beispielskript wäre das die IP-Adresse:

    [autoit]

    $_connect = run('C:\Windows\System32\cmd.exe /C ipconfig | find "IPv4-Adresse"')
    If $_connect = "127.0.0.1" Then

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

    MsgBox(1,"Status", "Du bist verbunden")

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

    Else

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

    MsgBox(1,"Status", $_connect)

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

    EndIf

    [/autoit]

    Das Problem ist, dass hierbei Beispielsweise die Variable $_connect nicht den Wert "127.0.0.1", sondern einen einfachen Zahlenwert hat, der sich bei jedem Ausführen des Skripts verändert.

    Ich würde jetzt gerne wissen, wie ich die Ausgabe von

    [autoit]

    run('C:\Windows\System32\cmd.exe /C ipconfig | find "IPv4-Adresse"')

    [/autoit]

    (beispielsweise 192.168.0.1)

    in eine Variable schreiben kann.

    Ich hoffe ich konnte das verständlich ausdrücken ?(

    Gruß

    Tim

  • Rechtsklick auf Icon in SystemTray

    • fd13_hsk
    • 23. Mai 2014 um 07:31

    Wahnsinn!! Vielen vielen Dank Schnitzel, funktioniert einwandfrei :thumbup:

    Schönes Wochenende! :)

  • Rechtsklick auf Icon in SystemTray

    • fd13_hsk
    • 22. Mai 2014 um 07:43

    Hallo,

    ich bin zurzeit auf der Suche nach einer Möglichkeit, einen Rechtsklick auf ein Icon im System Tray auszuführen.

    Dafür gibt es in diversen Foren schon fertige Skripte, die ich allesamt auch schon ausprobiert habe.

    Folgendes Skript funktioniert bei mir unter Windows 7 x64 soweit ohne Probleme:

    [autoit]

    #Include <GuiToolBar.au3>
    Global $hSysTray_Handle, $iSystray_ButtonNumber
    Global $sToolTipTitle = "Novell Services" ; <<<<<<<<<<<<<<<< Enter some tooltip text for the icon you want here
    $iSystray_ButtonNumber = Get_Systray_Index($sToolTipTitle)
    If $iSystray_ButtonNumber = 0 Then
    MsgBox(16, "Error", "Icon not found in system tray")
    Exit
    Else
    Sleep(500)
    _GUICtrlToolbar_ClickButton($hSysTray_Handle, $iSystray_ButtonNumber, "right")
    EndIf
    Exit

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

    Func Get_Systray_Index($sToolTipTitle)
    ; Find systray handle
    $hSysTray_Handle = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
    If @error Then
    MsgBox(16, "Error", "System tray not found")
    Exit
    EndIf
    ; Get systray item count
    Local $iSystray_ButCount = _GUICtrlToolbar_ButtonCount($hSysTray_Handle)
    If $iSystray_ButCount = 0 Then
    MsgBox(16, "Error", "No items found in system tray")
    Exit
    EndIf
    ; Look for wanted tooltip
    For $iSystray_ButtonNumber = 0 To $iSystray_ButCount - 1
    If StringInStr(_GUICtrlToolbar_GetButtonText($hSysTray_Handle, $iSystray_ButtonNumber), $sToolTipTitle) = 1 Then ExitLoop
    Next
    If $iSystray_ButtonNumber = $iSystray_ButCount Then
    Return 0 ; Not found
    Else
    Return $iSystray_ButtonNumber ; Found
    EndIf
    EndFunc

    [/autoit]


    Allerdings habe ich immernoch ein Problem..

    Undzwar funktioniert das Skript bei allen Icons, nur nicht bei dem wofür ich es brauche :thumbup:

    Dabei handelt es sich, wie oben schon als

    [autoit]

    $sToolTipTitle

    [/autoit]

    deklariert, um die "Novell Services". Das ist ein Anmelde-Client von Novell.

    Ich bekomme immer die Meldung "Icon not found in system tray".


    [Blockierte Grafik: http://www11.pic-upload.de/22.05.14/1p8xvpcq3ebq.jpg]


    Ich bin noch ziemlich neu in der Wissenschaft AutoIT - ich hoffe jemand hat eine Idee, oder sogar eine bessere Möglichkeit, als dieses Skript.

    Im voraus besten Dank für eure Hilfe!!


    Gruß


    Tim

  • Im Tray gestartetes Programm öffnen

    • fd13_hsk
    • 5. Mai 2014 um 11:51

    Ich nutze diesen Thread mal, da ich ein ähnliches Anliegen habe, der Thread ist ja auch noch recht aktuell...

    Ähnlich wie der Threadersteller darvinlain, möchte ich ein Icon in der Tray ansteuern. In meinem Fall mit einem Rechtsklick.

    Das Script von Friesel habe ich ausprobiert, aber ich bekomme immer nur das Array ausgegeben:

    [autoit]

    [...]
    $hWndProcess = _ProcessGetHandle("ZenNotifyIcon.exe") ;Name des anzuzeigenden Processes/Programmes
    [...]

    [/autoit]

    [Blockierte Grafik: http://www7.pic-upload.de/05.05.14/tytyd1r4xsfw.jpg]

    Wie geht es an dieser Stelle jetzt weiter?

    Es handelt sich dabei um ein Icon über das mit einem Rechtklick ein Menüpunkt für eine Anmeldung aufgerufen werden kann.

    Entschuldigt, falls die Lösung simpel ist - ich bin blutiger Anfänger in AutoIT. Alles was ich zu dem Thema über die interne Suche oder über Google gefunden habe, ist veraltet oder entspricht nicht meinem Problem.

    Im voraus vielen Dank für eure Hilfe!

  • Raute (#) in Variable schreiben und ausgeben

    • fd13_hsk
    • 4. April 2014 um 19:49
    Zitat von XovoxKingdom

    Mein Verdacht ist, dass du mit der Send()-Funktion arbeitest, aber den Parameter flag nicht explizit auf 1 gesetzt hast.Die Kombination "#r" würde die ohne das Flag die Windowstaste und "r" senden, da "#" ein Schlüsselzeichen ist.Folgendes sollte dein Problem lösen:AutoIt-Quellcode1
    2
    $text = "hallo#welt"
    Send($text, 1)

    Ich habe mit send gearbeitet..
    Werde das Montag direkt ausprobieren, sobald ich wieder auf der Firma bin.
    Vielen Dank für die Hilfe!!

    Schönes Wochenende

  • Raute (#) in Variable schreiben und ausgeben

    • fd13_hsk
    • 4. April 2014 um 12:41

    Hallo liebe Forengemeinde,

    ich versuche mich gerade an einem Skript und benötige ein bisschen Hilfe.
    Über Google und die interne Suche hier im Forum konnte ich leider nichts zu diesem konkreten Problem finden.

    Undzwar habe ich eine variable $test="hallo#welt" deklariert.
    Später soll in dem Skript die Variable $test in einem Textfeld ausgegeben werden.

    Leider gibt er mir in dem jetzigen Zustand nur "halloelt" aus. Es wird also die # und das nachfolgende Zeichen "verschluckt"...

    Ich könnte es natürlich auch einfach lösen, indem ich die # mit nem ASCII Code ausgebe, aber es wäre natürlich angenehmer mit einer Variable zu arbeiten.

    Ich wünsche euch im vorraus schonmal ein angenehmes Wochenende und bedanke mich vielmals für eure Hilfe!!

    Gruß

    fd13_hsk

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™