Start aus der Taskleiste

  • Ich würde gerne ein autoit-Skript in die Taskleiste legen und mit einem Klick zum Start bringen.
    Ist dies möglich und ja wie?

  • Das mit dem Drag & Drop reinziehen, ist schon klar.
    Das Problem besteht darin, dass wenn ich auf die Verknüpfung in der Taskleiste klicke, sich ein Fenster öffnet, auf dem steht Run Script.
    Aus diesem Fenster soll ich mir ein Script aus den autoit-Examples-Ordner aussuchen.
    Ich möchte aber, dass das Skript per Klick selbstständig startet ohne das sich vorher dieses Fenster öffnet.

  • Zitat

    Dann hast Du dein Skript dort hineingezogen und nicht deine kompilierte exe. ^^

    Oh ja Du hattest recht, ich hatte gedacht, das es reicht das Script nur auf die Taskleiste zu ziehen. Nach dem Compilieren hat es jetzt sehr gut geklappt. Vielen Dank für den Tipp.

    Wie ist das eigentlich, wenn ich ein Hotkey benutzen möchte, trifft da das selbe zu? Denn ich habe das schon mit einem Hotkey probiert und es ging nicht. Deshalb kam ich auf die Idee das uncompilierte Script auf die Taskleiste zu ziehen, obwohl mir ein Hotkey-Start eigentlich lieber wäre.

  • Mit dem HotKey sollte es ähnlich funktionieren. Exe compilieren und auf HotKey zuweisen.

    Wenn ich mich recht entsinne konnte man bei der Installation von AutoIt auswählen was passieren soll wenn man ein Uncompiliertes Skript doppelt klickt. Ob es das Skript ausführen oder im Edit öffnen soll.

  • Zitat

    Wenn ich mich recht entsinne konnte man bei der Installation von AutoIt auswählen was passieren soll wenn man ein Uncompiliertes Skript doppelt klickt. Ob es das Skript ausführen oder im Edit öffnen soll.

    Wenn ich auf mein uncompiliertes Skript aus einem Ordner doppelt klicke, wird es auch gestartet, nur halt nicht von der Taskleiste. Da geht es halt nur mit der Exe.


    Mit dem HotKey sollte es ähnlich funktionieren. Exe compilieren und auf HotKey zuweisen.

    Wie weise ich denn, nach dem compilieren auf das HotKey zu, wenn die Exe z.B. auf meinem Desktop liegt?
    Sorry bin noch völliger Anfänger in diesen Dingen?

  • Achso na soweit hab ich es noch nicht probiert .... bei mir leigen nur Compiled exen in der Taskleiste^^

    Du könntest dir ein kleines Skript schreiben welches du mit Computerstart ausführst (die exe in Autostart Ordner schieben) in diesem Programm weißt du dein(e) HotKey(s) zu.

    z.B. mit

    [autoit]


    HotKeySet("{F4}","_Starte_Programm_X")
    Func _Starte_Programm_X()
    Run($Pfad_deiner_exe)
    EndFunc

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

    while 1
    sleep(10)
    Wend

    [/autoit]

    Gruß

    2 Mal editiert, zuletzt von Prixma (11. Januar 2011 um 15:38)

  • Vielen Dank für die Antwort.
    Oh je, weiß garnicht ob wir uns richtig verstanden haben. Das ist oft mein Problem, das ich mich nicht klar genug Ausdrücke oder oft die innere Programmlogik nicht verstehe.

    Also nochmal, auch auf die Gefahr hin, dass Du mir schon den richtigen Hinweis gegeben hast und ich ihn nur noch nicht richtig interpretiert habe.
    Ich werde ca. 5 bis 7 compilierte Exe-Dateien haben. Diese möchte ich aber nicht alle in der Taskleiste haben, sondern die sollen entweder auf dem Desktop liegen oder besser noch in einem Ordner. Jeder einzelnen Exe-Datei möchte ich ein jeweils anderes Hotkey zu ordnen, um sie halt per Tastendruck zu unterschiedlichen Zeiten zu starten.

    Ist das möglich? Wenn ja! Wie wäre die herangehensweise? - Denn bis jetzt verstehe ich das mit den Hotkeys nur so, das die Funktion nur geht, wenn schon eine autoit-Datei läuft, die auf eine Hotkey-Eingabe wartet. Ich möchte aber, per Hotkey erst eine autoit-Datei zum laufen bringen. Ich hoffe mich jetzt besser Ausgedrückt zu haben.

  • Eine Lösung mit Windows Mitteln: Exe alle in einen Ordner, Verknüpfung für jede Exe auf den Desktop, rechte Maustaste - Eigenschaften, unter 'Tastenkombination' eine Ctrl-Alt-xxx Kombination definieren, fertig.

    Eine Lösung mit zusätzlichem Autoit-Tool: Alle Exe in einen Ordner, zusätzlich ein zusätzliches Autoit-Tool mit HotKeySet()-Kommandos welches die Programme startet in den Ordner, dieses Zusatztool in den Autostart, fertig. Hierbei kannst Du dann auch andere Kombinationen statt Ctrl-Alt-xxx definieren.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Vielen Dank für die Lösungsansätze. Klappt mit Windows.
    Werde das also erst einmal mit den Windowsmitteln machen. Interessant ist dabei, dass ich die Tastenkürzel nur an Verknüpfungen vergeben kann, nicht aber an die eigentliche Exe-Datei. Außerdem geht das jetzt auch mit dem normalen Script, also uncompiliert. Bin wieder am Anfang gelandet. :D

    Die Autoit-Tool-Lösung in der Autostartgruppe ist zwar auch schick, aber hier wüsste ich z.B. nicht wie man mehre Tastenkombinationen definiert. So vielleicht?

    Code
    HotKeySet("{F4}","_Starte_Programm_X1") 
    Func _Starte_Programm_X1() 
    Run($Pfad_deiner_1.exe) 
    EndFunc 
    
    
    HotKeySet("{F5}","_Starte_Programm_X2") 
    Func _Starte_Programm_X2() 
    Run($Pfad_deiner_2.exe) 
    EndFunc


    Aber das wäre bestimmt falsch oder es fehlt wahrscheinlich etwas?
    Wäre schön, wenn das einer hier noch posten könnte, dann können wir den Beitrag als gelöst melden.

  • Das mit dem Pfad ist mir klar.
    Aber da fehlt kein Semikolon oder Komma zwischen den verschieden Funktionen, oder etwas anderes wie Variablen die vorher definiert müssen, alle diese Dinge die ich meist irgendwie ein bisschen falsch mache und durcheinander bringe. ?(

  • Ich hätte auch ein kleines Beispiel:

    Spoiler anzeigen
    [autoit]

    HotKeySet("!a", "_Launch") ; ALT + a
    HotKeySet("^a", "_Launch") ; CTRL + a
    HotKeySet("#a", "_Launch") ; WIN + a
    HotKeySet("!^A", "_Launch") ; ALT + CTRL + SHIFT + a

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

    ; Endlosschleife
    While 1
    Sleep(100)
    WEnd

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

    Func _Launch()
    Switch @HotKeyPressed
    Case "!a"
    ShellExecute("C:\Skript1.au3")
    Case "^a"
    ShellExecute("C:\Skript2.au3")
    Case "#a"
    ShellExecute("C:\Skript3.au3")
    Case "!^A"
    ShellExecute("C:\Skript4.au3")
    EndSwitch
    EndFunc

    [/autoit]
  • @progandy,

    ja an so etwas mit switch und case hatte ich gedacht.
    Sieht gut aus.

    Code
    While 1
        Sleep(100)
    WEnd


    Wozu baut ihr das eigentlich ein?

  • Die Hotkeys gelten nur, solange das Skript läuft. Ohne die Whileschleife würde sich AutoIt sofort beenden, daher muss sie rein damit das Skript endlos im Hintergrund läuft.