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

Beiträge von HansJ54

  • Feststellen, ob Programm bereits gestartet

    • HansJ54
    • 9. August 2020 um 20:23

    Guten Abend zusammen,

    ich habe im Moment mal wieder einen Gedankenknoten. Ich will beim Starten des Scripts prüfen, ob das Script bereits läuft und dann dementsprechend abbrechen.

    Ich dachte an If ProcessExists($sFile) ... . Leider existiert $sFile immer, wenn ich das Programm starte, funktioniert also nicht (im Interpreter klappte es einwandfrei :S).

    Gibt es eine Möglichkeit abzufragen, ob 2 oder mehr Prozesses gleichen Namens laufen?

  • Plenom Kuando Busylight

    • HansJ54
    • 8. August 2020 um 18:32

    Danke für den Tipp, wenn ich mal wieder Muße habe, schaue ich mal rein. Im Moment kämpfe ich an einer anderen Front ;)

  • Plenom Kuando Busylight

    • HansJ54
    • 28. Juli 2020 um 17:28

    Kann jemand das in AutoIt übersetzen bzw. gibt es schon was in AutoIt zur Ansteuerung? Soll später mal anzeigen, ob man telefoniert oder frei ist. Dazu wäre natürlich dann auch noch eine Verbindung zu TAPI erforderlich.

    Code
    using Plenom.Components.Busylight.Sdk;
    using System.Threading;
    
    namespace ThoughtStuff.BusylightSDK
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Instantiate BusyLightController for either Lync or UC:
                var controller = new BusylightLyncController();
                // var controller = new BusylightUcController();
    
                controller.Light(BusylightColor.Red);
                Thread.Sleep(500);
                controller.Light(BusylightColor.Blue);
                Thread.Sleep(500);
                controller.Light(BusylightColor.Yellow);
    
                Thread.Sleep(2000);
                controller.Light(BusylightColor.Off);
            }
        }
    }
    Alles anzeigen

  • Auslesen von Werten aus einem Fenster

    • HansJ54
    • 23. Juli 2020 um 12:26

    Ich habe mich die letzten Monate mit Webdriver beschäftigt und habe keine Probleme, Strings aus einem Browserfenster auszulesen und zu verarbeiten. Jetzt suche ich eine Möglichkeit, aus einem Windows-Programmfenster (nicht Browser) einen String auszulesen, z.B. im Fenster steht KdNr.: 123245 und ich brauche die Nummer.

    Geht das überhaupt? Vermutlich eine doofe Frage, aber ich weiß mal wieder nicht, wie ich suchen soll. ;)

  • @ScriptLineNumber / in Function die aufrufende @ScriptLineNumber nutzen und Debuggen in kompilierten Programmen

    • HansJ54
    • 23. Juli 2020 um 12:19

    Gibt es eine Möglichkeit, in einer Function die Zeile des Aufrufs zu verarbeiten ohne diese als Parameter zu übergeben? Also etwas wie @CallingScriptLineNumber?

    Und: gibt es einen Weg, die @ScriptLineNumber auch im kompilierten Programm beim Debuggen oder bei Fehlermeldungen anzuzeigen? Ich denke da an ein Script, das man über sein Script laufen lässt und das @ScriptLineNumber durch die aktuelle @ScriptLineNumber ersetzt. Wäre vermutlich nicht schwer, aber wenn man weiter entwickeln will, dann muss das ja auch rückgängig gemacht werden und dazu fehlt mir die Idee.

    Debuggen im Interpreter erfasst nicht alles, da ich mich dann an jeden Client setzen müsste und testen, da teilweise von der Umgebung abhängig.

    Vielleicht hat jemand schon mal etwas zu Debuggen in kompilierten AU3s entwickelt?

  • Icon Datei in .exe einbinden

    • HansJ54
    • 5. Juli 2020 um 16:38

    Bei mir auch, wäre schade wenn das Programm "untergehen" würde.

  • HotKeySet("{BREAK}", "Terminate") funktioniert nicht

    • HansJ54
    • 3. Juli 2020 um 11:32

    Problem gelöst, beim Testen hatte ich es natürlich aus SciTE raus versucht <X

  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 18:58
    Zitat von Musashi

    Da hast Du mich wahrscheinlich falsch verstanden.

    Habe es auf jeden Fall nicht wirklich negativ aufgefasst und finde die Unterstützung hier absolut super! Auch wenn es manchmal vielleicht auf den ersten Blick dumme Fragen sind - hier bekommt man immer eine brauchbare Antwort. :)

    Und ich kann den Generator jetzt zwar benutzen, aber tiefgründig verstehen will ich ihn glaube ich nicht, habe andere Probleme.:/

  • HotKeySet("{BREAK}", "Terminate") funktioniert nicht

    • HansJ54
    • 2. Juli 2020 um 18:23

    Ich habe nichts dazu gefunden, dass das Abfangen von Ctrl-Break mit HotKeySet() nicht funktionieren soll. Die Hilfe ist etwas missverständlich, so dass ich nicht weiß, ob ich "^" für Ctrl davor setzen muss. Auf jeden Fall funktionieren beide Varianten im Gegensatz zu den anderen Definitionen bei mir nicht - hat jemand eine Idee?

    AutoIt
    ; Shift-Alt-e
    HotKeySet("+!e", "_Terminate")        ; funktioniert
    
    ; Strg-Alt-m 
    HotKeySet("^!m", "_ToggleMenu")       ; funktioniert
    
    ; Ctrl-Break 
    HotKeySet("{BREAK}", "_Terminate")    ; funktioniert nicht
    HotKeySet("^{BREAK}", "_Terminate")   ; funktioniert auch nicht
  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 18:06
    Zitat von Oscar

    Hier mal ein Beispiel mit Base64-kodierten Daten:

    Perfekt, funktioniert - danke.

  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 18:05
    Zitat von Musashi

    (wie bereits 'zig mal in anderen Threads beschrieben)

    Wenn man weiß, mit welchen Begriffen man danach sucht ist das sicher einfach ;) Mir hat bis eben GDI noch nichts gesagt außer dass es mal Drucker gab, die nur GDI-Druck konnten.

    Zitat von Musashi

    Du könntest auch den beliebten file-to-base64-string-code-generator von UEZ verwenden.

    Das sieht sehr gut brauchbar aus, vermutlich hat Oscar das Beispiel auch damit erstellt!?

  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 09:44
    Zitat von alpines

    Die FileInstall-Funktion sorgt beim Kompilieren dafür, dass die Datei die du angibst in deine Exe eingeschrieben wird. Beim Start der Exe, wird die Datei dann in den vorgegebenen Pfad extrahiert, und steht dir zur Verfügung.

    Dieses Wissen fehlte mir, ich hatte im Sinn, dass der Code für die Icons dann direkt in der .exe sein sollte und nicht wieder extrahiert wird. Das habe ich der AutoIt-Hilfe nicht entnehmen können, wenn ich das mit diesem Hintergrund jetzt noch mal lese, ist es klar.

    Zitat von alpines

    Du könntest natürlich auch die Icons selber erzeugen (scheint ja nicht sonderlich kompliziert auszusehen) indem du Gdi+ anschmeißt aber ohne herablassend klingen zu wollen, scheint das über deinem Wissensstand zu liegen und ist schon wesentlich komplizierter.

    Absolut richtig, noch nie benutzt und noch nicht mal eine Idee, wie das funktioniert. Ist es aufwendig - einfach zum Lernen - ein kurzes Beispiel für einen Kreis wie in meinem Bild zu machen? Wenn aufwendig - kein Problem. Könnte aber ja auch wieder eine Sache sein, die in AutoIt in 5 Zeilen erledigt ist.

  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 01:20

    Ich verstehe die Hilfe zu diesem Befehl nicht, sieht für mich so aus, als ob ich eine Datei von irgendwo nach irgendwo anders kopiere. Falls tatsächlich inkludiert, sehe ich auch nicht, wie ich die Icons im Programm nutzen kann.

    Ziel ist, zwei Icons (red.ico und green.ico) in die compilierte Version einzubinden, so dass ich nachher nur die eine .exe habe und nicht noch 2 einzelne .ico-Dateien zusätzlich.

    Andere Möglichkeit: kann ich irgendwie in der GUI kreisförmige Objekte ähnlich wie unten erzeugen, dann brauche ich die Icons nicht:

    Könnten auch viereckige Klötzchen sein ...

  • Icon Datei in .exe einbinden

    • HansJ54
    • 2. Juli 2020 um 01:02

    Kann man Bilder, also z.B. Icons, in die .exe einbinden, so dass man die Icon-Dateien nicht immer extra mitliefern muss?

  • Logout in AutoIt abfangen?

    • HansJ54
    • 2. Juli 2020 um 00:10
    Zitat von Bitnugger

    Wenn oben rechts das X gedrückt wurde, bekommst du die Message $GUI_EVENT_CLOSE, und dann kommt es darauf an, wie du darauf reagierst:

    $GUI_EVENT_CLOSE bekomme ich scheinbar auch, wenn ESC gedrückt wurde.

    Aber mir ist jetzt aufgefallen, dass ich eigentlich nur das Beenden mit meiner selbst erzeugten Endetaste zulassen will, also frage ich $GUI_EVENT_CLOSE einfach nicht mehr ab.

    Dann bleibt nur der Fall, dass jemand sich abmeldet oder den Rechner runterfährt und das habe ich mit OnAutoItExitRegister abgefangen.

  • Logout in AutoIt abfangen?

    • HansJ54
    • 1. Juli 2020 um 23:45

    Danke, jetzt fehlt mir noch eine Idee, wie ich bei einer GUI unterscheiden kann, ob der User Esc oder das X oben rechts gedrückt hat, da $GUI_EVENT_CLOSE bei beiden = True ist.

  • Logout in AutoIt abfangen?

    • HansJ54
    • 30. Juni 2020 um 15:51

    Kleines Problem noch: über OnAutoItExitRegister gibt es als Grund @exitMethod. Da ich aber sowohl bei normalem Beenden wie auch bei Logoff in die gleiche Terminate-Funktion springe und dort @exitMethod abfrage, bekomme ich bei "normalem" Ende einen Fehler wegen der nicht existierenden @exitMethod (genau verstanden habe ich das allerdings nicht). Gibt es eine Prüfung, ob @exitMethod existiert?

  • Logout in AutoIt abfangen?

    • HansJ54
    • 29. Juni 2020 um 19:47

    Das ging aber schnell - danke ;)

    Und funktioniert perfekt - eine Zeile mehr im Programm und alle Probleme sind weg!

  • Logout in AutoIt abfangen?

    • HansJ54
    • 29. Juni 2020 um 18:53

    Mein Script schreibt beim Beenden in eine Log-Datei. Wenn der User vergisst, das Script zu beenden und meldet sich ab oder fährt den Rechner runter, dann fehlt mir der Eintrag im Log. Gibt es eine Möglichkeit, das AutoIt-Programm über den eigenen vorgesehenen Weg zu beenden beim Abmelden des Users oder beim Runterfahren?

  • Quellcode und Links aus dem Chrome Browser auslesen

    • HansJ54
    • 29. Juni 2020 um 18:14

    Du brauchst chromedriver.exe für Chrome, geckodriver.exe für Firefox und msedgedriver.exe für den neuen Edge Chromium. Bis auf das Setup im Programm ist alles gleich, keine weiteren Dateien, keine Änderung im Programm (sollte zumindest - es sei denn, die Webseite verhält sich bei einem der Browser anders als bei einem anderen).

    Bedeutet, dass Du ein Programm für alle drei Browser schreiben kannst und über den Aufruf vom Setup bestimmst Du den Browser.

    Wenn Du gemäß Anleitung nach den Webdrivern suchst, findest Du die richtigen: z.B. Geckodriver

    Und wenn Du dann das hier gefunden hast, liegst Du richtig:

    pasted-from-clipboard.png

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™