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

Beiträge von Getti

  • Gerät aktivieren/deaktivieren

    • Getti
    • 5. August 2018 um 02:16

    Hallo Bitnugger,

    gemeint war einfach nur dass die Backslashes weder doppelt angegeben, noch in Gänsefüßchen / doppelte Anführungszeichen gesetzt, oder escaped werden müssen.

    Der Hinweis auf den Backslash kam auch nur weil ich bei meiner Recherche über diesen Eintrag gestolpert war und es dort hieß dass der Backslash nicht korrekt interpretiert wird, daher hatte ich damit rum experimentiert und am Ende festgestellt dass er vernachlässigt werden kann.

    Habe deine Variante mit dem escapen (in der CMD) eben auch noch mal getestet, diese funktioniert genau so gut, allerdings darf auch hier die gesamte ID nicht in Gänsefüßchen stehen.

    Wie bereits geschrieben, wäre eine Lösung bei der man das gewünschte Gerät einfach direkt im Skript auswählen kann am schönsten aber dies übersteigt momentan meine Fähigkeiten.

    VG

    Getti

  • Gerät aktivieren/deaktivieren

    • Getti
    • 3. August 2018 um 00:04

    Hallo,

    das bereitgestellte Skript hat bei mir leider immer gleich mehrere Treiber auf einmal angesprochen, weil diese der gleichen / ähnlichen ID zugeordnet sind. Dadurch wurde z.B. nicht nur der WLAN Treiber sondern auch der Grafikkartentreiber und der Soundtreiber deaktiviert.

    Ich habe nun die letzen zwei Tage damit verbracht das Skript von BigRox unter Windows 10 Pro (x64) zum laufen zu bekommen.

    Hier die Lösung die bei mir funktioniert hat, evtl. hilft es ja jemand anderem:

    Vorbereitung

    1. Aktuelle Devcon.exe herunterladen (Klick mich)*

    2. Die Datei exportieren und umbenennen (siehe Anleitung im SuperUser Forum)

    3. Die Devcon.exe nach "C:\Windows\System32" kopieren oder als Umgebungsvariable setzen (Klick mich)

    4. CMD oder Powershell als Administrator starten und den Befehl devcon.exe findall * ausführen

    5. Die gewünschte ID finden

    6. Diese in das Skript einbauen

    Anpassung

    Bei mir musste ich die Hardware-ID nach diesem Syntax eingeben:

    devcon.exe enable PCI\VEN_168C"&"DEV_0013"&"SUBSYS_2051168C"&"REV_01

    devcon.exe disable PCI\VEN_168C"&"DEV_0013"&"SUBSYS_2051168C"&"REV_01

    devcon.exe status PCI\VEN_168C"&"DEV_0013"&"SUBSYS_2051168C"&"REV_01

    Im Gegensatz zu den Befehlen im Skript wird also nicht die ganze Hardware-ID in "Gänsefüßchen" gesetzt, sondern lediglich die UND-Zeichen.

    Die Backslashes ("\") musste ich hingegen nicht "escapen".

    Zeile 29 des Skriptes würde demnach so aussehen:

    $Geraet = '"PCI\VEN_168C"&"DEV_0013"&"SUBSYS_2051168C"&"REV_01"'

    PS: Ja ich weiß dass der Thread sehr alt ist, daher ja auch die Anleitung wie es mit der aktuellen Windows Version funktioniert.

    BigRox vielen Dank für dein tolles Skript, da meine WLAN-Karte gelegentlich nicht korrekt erkannt wird, musste ich bisher immer das Notebook neu starten oder das Gerät umständlich, über den Gerätemanager deaktivieren und erneut aktivieren.

    Ich hätte ja gerne noch eine Funktion um direkt in der GUI das gewünschte Gerät, per DropDown Menü auswählen zu können aber das habe ich auf die Schnelle nicht hinbekommen... Falls ich das doch noch schaffe, lade ich es hier hoch.

    * Ich hätte die 80KB große Datei gerne auch direkt hier hochgeladen, dies ist seitens Microsoft jedoch nicht gestattet.

    VG

    Getti

  • Fensterpositionen automatisch an Monitorauflösung anpassen

    • Getti
    • 31. Oktober 2017 um 21:59

    @kangool

    Wenn es nun funktioniert, kannst du den Thread ja als erledigt markieren ;)

    PS: Finde ich gut dass du die Lösung gepostet hast :thumbup:

    Gruß Getti

  • Includen und manuelles aufrufen einer automatisch startenden UDF

    • Getti
    • 31. Oktober 2017 um 04:08

    Hallo @autoiter,

    hallo @Musashi,

    vielen Dank für eure ausführlichen Erklärungen :)


    Gruß Getti

  • Includen und manuelles aufrufen einer automatisch startenden UDF

    • Getti
    • 29. Oktober 2017 um 04:10

    Guten Abend :)

    Ich hole für ein vermutlich einfaches Problem ziemlich weit aus, daher gibt es einmal die Kurzfassung und einmal die ausführliche Version :D

    Kurzfassung:

    Spoiler anzeigen

    Wie schaffe ich es dieses Skript aus einer anderen au3 Datei, per Funktion aufrufbar zu machen?

    C
    #AutoIt3Wrapper_Au3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    
    ;.......script written by trancexx (trancexx at yahoo dot com)
    
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    #include "GIFAnimation.au3"
    
    Opt("GUICloseOnESC", 1); ESC to exit
    Opt("MustDeclareVars", 1)
    
    Global $sTempFolder = @TempDir & "\GIFS"
    DirCreate($sTempFolder)
    
    Global $sFile = $sTempFolder & "\Dance.gif"
    If Not FileExists($sFile) Then
        TrayTip("GIF Download", "Please wait...", 0)
        InetGet("http://i241.photobucket.com/albums/ff141/trancexx_bucket/Dance.gif", $sFile)
        TrayTip("", "", 0)
    EndIf
    
    If Not FileExists($sFile) Then
        MsgBox(262192, "Download", "Download failed!")
        Exit
    EndIf
    
    ; Get dimension of the GIF
    Global $aGIFDimension = _GIF_GetDimension($sFile)
    ; Make GUI
    Global $hGui = GUICreate("GIF Animation", $aGIFDimension[0], $aGIFDimension[1], -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
    
    ; GIF job
    Global $hGIF = _GUICtrlCreateGIF($sFile, "", 0, 0)
    GUICtrlSetTip(-1, "ESC to exit")
    
    ; Make GUI transparent
    GUISetBkColor(345) ; some random color
    _WinAPI_SetLayeredWindowAttributes($hGui, 345, 255) ; making the GUI transparent
    _WinAPI_SetParent($hGui, 0)
    
    ; Show it
    GUISetState()
    
    ; Loop till end
    While 1
        If GUIGetMsg() = - 3 Then Exit
    WEnd
    Alles anzeigen

    Quelle:

    https://pastebin.com/n2cpRNS0 & https://pastebin.com/mre6xLhc

    Laaaannnnggggeeee Version:

    Spoiler anzeigen

    Ich habe mir mit Autoit bzw. SciTE4AutoIt3 ein recht umfangreiches Programm erstellt, das soweit auch wie gewünscht funktioniert, allerdings nur solange auf dem System Autoit installiert ist.

    Das Programm selbst besteht aus etwa 15 Au3 Dateien, die sich alle im selben Verzeichnis befinden, die einzelnen Skripte werden werden über eine GUI, z.B. über den folgenden Befehl aufgerufen:

    Code
    Run(@AutoItExe & " " & @ScriptDir & "\Skript_Nr9.au3")

    Nachdem kompilieren des "Haupt-Skriptes", welches die GUI beinhaltet und dazu verwendet wird alle anderen Skripte aufzurufen, können die au3 Skripte auf einem System auf dem Autoit nicht installiert ist natürlich nicht aufgerufen werden.

    (Dies ist mir leider erst im nachhinein aufgefallen, da ich zunächst nicht darüber nachgedacht hatte...)

    Normalerweise würde ich die au3 Skripte nun jeweils beispielsweise per

    Code
    #include "Skript_Nr9.au3"

    Befehl im Haupt-Skript einbinden und die einzelnen Skripte so umschreiben, dass diese nicht mehr direkt beim aufrufen des Skriptes ausgeführt werden, sondern über eine Funktion gestartet werden. Bei meinen selbst geschrieben Skripten funktioniert das auch, ich habe nun aber in den Tiefen des WWW, eine UDF gefunden, bei der mir das nicht gelingt.

    Konkret geht es bei der UDF um ein Programm zum abspielen von animierten GIF Dateien, das Programm besteht aus zwei Teilen, diese können hier Teil1 & hier Teil2 bezogen werden. Die Datei "DancingOnMyScript.au3" wird beim starten sofort ausgeführt und legt fest welche Animation abgespielt werden soll, die Animation selbst wird dann über Funktionen, dankt der "GIFAnimation.au3" Datei abgespielt.


    Wenn ich nun jedoch die Zeilen 8-43 des Skriptes "DancingOnMyScript.au3" in eine Funktion packe z.B.:

    Code
    Func _PlayGIF()
        .....
    EndFunc

    und diese Funktion anschließend über mein Haupt-Skript ausführe, wird die Animation nicht abgespielt, entweder beendet sich das Haupt-Skript direkt nach dem Start oder aber bleibt in einer Endlosschleife hängen, ohne dass ich nachvollziehen kann warum.

    Natürlich habe ich schon versucht mir den Zeitpunkt wann der Fehler auftritt in der Kommandozeile oder per MsgBox ausgeben zu lassen, diese wird aber gar nicht erst aufgerufen...

    PS:
    Die original URL, die im Skript angegeben ist, gibt es leider nicht mehr, daher sollte diese in Zeile 18 angepasst werden z.B. durch "https://media.giphy.com/media/MF1kR4YmC2Z20/giphy.gif"

    PPS: Den Thread GIF-Animation mit GDI+ hatte ich gesehen und auch alle dort genannten Skripte getestet, auch diese werden jedoch immer sofort, direkt nachdem starten der au3 Datei ausgeführt ohne dass dies über eine Funktion gesteuert werden kann...

    Außerdem gefällt mir die Version von "trancexx" einfach am besten, da diese die Animation ohne Rahmen darstellen kann und auch die Größe der Animation nicht händisch angegeben werden muss.

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™