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

Beiträge von Bitnugger

  • DirMove funktioniert nicht mehr

    • Bitnugger
    • 26. Oktober 2015 um 03:44

    Bei mir funktioniert es mit und ohne Backslash... allerdings ist der Patch bei mir nicht installiert.

    Hier noch zwei Links zu dem Patch... der wohl nur bei 32bit Ärger macht.

    http://www.windowspage.de/updates/016543.html
    https://support.microsoft.com/de-de/kb/3080446

    Bekommst du den Fehler auch, wenn du das Script als "Administrator" ausführst?

  • Taskleiste automatisch ausblenden

    • Bitnugger
    • 29. September 2015 um 14:33

    Sehr schön... beide... wobei mir der Einzeiler - obwohl ein wenig lahmer - besser gefällt. :klatschen:


    Dann sieht das Ganze nun so bei mir aus:

    AutoIt
    ;-- TIME_STAMP   2015-09-29 14:29:34   v 1.1
    
    
    
    
    _TrayVisible(False)
    Sleep(2000)
    _TrayVisible(True)
    
    
    
    
    Func _TrayVisible($_fVisible) ; True/False
        Switch $_fVisible
            Case True
                ; Show
                BitOR(WinSetState("[Class:Shell_TrayWnd]","",@SW_SHOW),WinSetState("[TITLE:Start; CLASS:Button]","",@SW_SHOW))
            Case False
                ; Hide
                BitOR(WinSetState("[Class:Shell_TrayWnd]","",@SW_HIDE),WinSetState("[TITLE:Start; CLASS:Button]","",@SW_HIDE))
        EndSwitch
    EndFunc
    Alles anzeigen
  • Taskleiste automatisch ausblenden

    • Bitnugger
    • 28. September 2015 um 16:36

    @matthias87
    In AutoIt integrierte Funktionen beginnen immer ohne einen initialen Unterstrich. Von Usern selbst definierte Funktionen (UDF = User Defined Function) sollten zur besseren Unterscheidung mit einem Unterstrich beginnen. Hilfsfunktionen in UDFs, die nur zur internen Verwendung gedacht sind, fangen meist mit zwei Unterstrichen an.


    Damit auch der Start-Button verschwindet, wenn die Taskleiste ausgeblendet wird, habe ich noch ein paar Zeilen hinzugefügt... ich verstehe nur nicht, wieso das Fenster des Start-Button erst nach einem MouseMove wieder sichbar wird.

    AutoIt
    #include-once
    #include <WinAPI.au3>
    
    
    
    
    
    
    _TrayVisible(False)
    Sleep(2000)
    _TrayVisible(True)
    
    
    
    
    
    
    Func _TrayVisible($_fVisible) ; True/False
        Local Const $SWP_SHOWWINDOW = 0x40
        Local Const $SWP_HIDEWINDOW = 0x80
        Local $hTray = _WinAPI_FindWindow("Shell_TrayWnd", "")
        Local $hStart = _WinAPI_FindWindow("Button", "Start")
        Local $iFlag = $_fVisible ? $SWP_SHOWWINDOW : $SWP_HIDEWINDOW
        _WinAPI_SetWindowPos($hTray, 0, 0, 0, 0, 0, $iFlag)
        _WinAPI_SetWindowPos($hStart, 0, 0, 0, 0, 0, $iFlag)
        Switch $iFlag
            Case $SWP_SHOWWINDOW
                Local $aPos = MouseGetPos()
                Local $aWinPos = WinGetPos($hStart)
                MouseMove($aWinPos[0], $aWinPos[1], 1)
                MouseMove($aPos[0], $aPos[1], 1)
        EndSwitch
    EndFunc
    Alles anzeigen
  • Control Spy - Nützliches Tool um Infos über Controls zu erhalten / Winspector - Alternative zu Window-Info-Tool

    • Bitnugger
    • 26. September 2015 um 11:14
    Zitat von golum

    Auf der MS seite gibt es nur die alte v2

    Nicht wirklich... denn genau dort habe ich sie her.

    http://www.microsoft.com/en-us/download/details.aspx?id=4635

    Als Überschrift steht dort "Control Spy 2.0", doch schaust du dir die Details an, steht dort "Version 1.0".

    Nach dem Installieren der dort angebotenen "ControlSpy.msi", habe ich nur stillschweigend mit dem Kopf geschüttelt, denn im Programmverzeichnis fand ich dann die beiden Versionen. ;)

    c:\Program Files (x86)\Microsoft\ControlSpy\
    ControlSpyV5.exe 734,5 k 11.07.2015 04:39 -a--
    ControlSpyV6.exe 742,0 k 11.07.2015 04:39 -a--

    Edit: Zwei Versionen von Control-Spy stehen zur Verfügung, eine für Comctl32.dll Version 5.x und eine für Comctl32.dll Version 6.0 und höher. ControlSpyV6.exe verfügt über ein integriertes Anwendungs-Manifest, so dass die neuen Themen basierten Steuerelemente verwendet werden. ControlSpyV5.exe hat dieses Manifest nicht und benutzt so standardmäßig die ältere Version.

    Control Spy v2.0

  • Schnelleres ArrayUnique

    • Bitnugger
    • 16. September 2015 um 14:59

    ...

    Ops, hat sich erledigt... Danke!

  • Schnelleres ArrayUnique

    • Bitnugger
    • 16. September 2015 um 13:04

    Nein, die habe ich installiert... mit der geht es auch nicht.

  • Schnelleres ArrayUnique

    • Bitnugger
    • 16. September 2015 um 12:26
    • Weil ich in meinem Script bei _ArrayUnique() eine unerwartete Fehlermeldung bekommen hatte, habe ich dieses Beispiel aus der AutoIt Hilfe getestet... doch zu meinem erstaunen funktioniert dies auch nicht... nicht mehr.
    • ?(
    AutoIt
    #include <Array.au3>
        Local $aArray[6][2] = [[1, "A"], [2, "B"], [3, "C"], [1, "A"], [2, "B"], [3, "C"]]
        _ArrayDisplay($aArray, "2D array") ; Display the current array.
        Local $aArrayUnique = _ArrayUnique($aArray) ; Use default parameters to create a unique array of the first column.
        _ArrayDisplay($aArrayUnique, "$aArray first column") ; Display the unique array.
        $aArrayUnique = _ArrayUnique($aArray, 1) ; Create a unique array of the second column.
        _ArrayDisplay($aArrayUnique, "$aArray second column") ; Display the unique array.
    ;~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Ausgabe:
        >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Program Files (x86)\AutoIt3\Examples\Helpfile\_ArrayUnique[2].au3" /UserParams
        +>12:13:44 Starting AutoIt3Wrapper v.15.729.1555.1 SciTE v.3.5.4.0 Keyboard:00000407 OS:WIN_7/Service Pack 1 CPU:X64 OS:X64 Environment(Language:0407)
        +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\Ghost\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\Ghost\AppData\Local\AutoIt v3\SciTE
        >Running AU3Check (3.3.14.1) from:C:\Program Files (x86)\AutoIt3 input:C:\Program Files (x86)\AutoIt3\Examples\Helpfile\_ArrayUnique[2].au3
        +>12:13:45 AU3Check ended.rc:0
        >Running:(3.3.14.1):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Program Files (x86)\AutoIt3\Examples\Helpfile\_ArrayUnique[2].au3"
        --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
        "C:\Program Files (x86)\AutoIt3\Include\Array.au3" (2297) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
        If IsInt($aArray[$iBase]) Then
        If IsInt(^ ERROR
        ->12:13:47 AutoIt3.exe ended.rc:1
        +>12:13:47 AutoIt3Wrapper Finished.
        >Exit code: 1 Time: 4.133
    Alles anzeigen
  • Controlsettext & citrix

    • Bitnugger
    • 4. September 2015 um 08:56

    Wenn dir das WindowInfo Tool Informationen zu einem Control anzeigt und du diese verwendest, um ein Control anzusprechen, sollte das funktionieren. Die gewünschte Info transportierst du per Doppelklick in die Zwischenablage und fügst sie dann 1:1 in dein Script ein. Schaue dir in der AutoIt-Hilfe bei "Using AutoIt/Window Title and Text (Advanced)" an, was unter "Advanced Window Descriptions" steht...

    Funktioniert es trotzdem nicht, kann ich mir vorstellen, dass dein Script nicht die benötigten Rechte bekommt... z. B. weil die UAC bockt, der User einen eingeschränkten Account hat, oder es in einer Sandbox ausgeführt wird.

    Mache ein Schnappschuss von dem WindowInfo Tool mit den Infos zu dem Control, dass du ansprechen willst und poste die entsprechende Zeile aus deinem Script, denn du willst hier doch kein Ratespiel veranstalten, oder? ;)

  • Controlsettext & citrix

    • Bitnugger
    • 2. September 2015 um 12:04

    An der Verzögerung lag es sicher nicht... aber das kannst du ja überprüfen, indem du den Sleep() auskommentierst.

    Meist liegt es daran, dass du keine eindeutigen oder falsche Werte für das Window oder die Controls angegeben hast.

  • Controlsettext & citrix

    • Bitnugger
    • 1. September 2015 um 09:43

    Schau dir das Script und das Bild im Dateianhang an... und analog muss es auch mit deinem Citrix Receiver funktionieren.


    Mi dem WindowInfo Tool ist schon richtig so... du kannst die Informationen in der Zeile 'Title' (Window) bzw. 'Advanced Mode' (Control) mit einem Doppelklick darauf in die Zwischenablage kopieren und sie dann in dein Script übernehmen.

    Dateien

    Citrix Receiver.au3 1,59 kB – 338 Downloads Citrix Receiver.jpg 298,94 kB – 0 Downloads
  • Controlsettext & citrix

    • Bitnugger
    • 31. August 2015 um 10:32
    AutoIt
    ; Benutzer
    ControlSetText("Citrix Receiver", "", "[CLASS:WindowsForms10.EDIT.app.0.17ad52b; Instance: 1]", "Apfel")
    
    
    ; Passwort
    ControlSetText("Citrix Receiver", "", "[CLASS:WindowsForms10.EDIT.app.0.17ad52b; Instance: 2]", "4711Geheim!")
    
    
    ; Absenden
    ControlClick("Citrix Receiver", "", "[CLASS:Button; TEXT:Anmelden]")
    ; oder so...
    ControlClick("Citrix Receiver", "", "[CLASS:Button; Instance: 1]")
    ; oder so...
    ControlClick("Citrix Receiver", "", "[TEXT:Anmelden]")
    Alles anzeigen
  • AutoIt Grundlagen Schulung oder Webinar / Interessenten gesucht.

    • Bitnugger
    • 20. August 2015 um 00:15

    Hört sich super an... mein Interesse ist geweckt... bin dabei! ;)

  • aktivies Fenster öffnen

    • Bitnugger
    • 4. August 2015 um 02:12

    Soll dieses Verhalten für alle Programme geändert werden, können dafür die entsprechenden Schlüssel in der Registry angepasst werden... einige Programme (z. B. Trillian) bieten aber auch selbst Optionen an, um dies zu steuern.

    Eingabe-Fokus: Zeit, bis Anwendung im Vordergrund angezeigt wird, ändern


    Eingabe-Fokus: Blinkanzahl in der Taskleiste einstellen

  • _WinAPI_FindTextDlg() - Example --> APPCRASH - Fehlermodulname: StackHash_f32c

    • Bitnugger
    • 19. Juli 2015 um 04:44

    Moin ;)

    Ab und an nehme ich mir die Zeit und durchforste die AutoIt-Hilfe... vornehmlich Themen, die seltener benötigt werden.

    Vorgestern bin ich dann bei der Funktion _WinAPI_FindTextDlg() gelandet, die allerdings, zumindest bei mir, nicht funktioniert und AutoIt zum Absturz bringt. Nach dem Start des Example tippe ich Alt+E/F und gebe dann "v3" (ohne "" [Alt+W funktioniert nicht]) als Suchbegriff ein... die MsgBox petzt mir, dass der gesuchte Text nicht gefunden wurde... und dann... nichts machen... nur entspannt zurücklehen... ein paar Sekunden später und AutoIt hängt - oder auch nicht, aber dann ist das Menu nicht mehr auswählbar!


    Vorhin habe ich mir die aktuelle Version von AutoIt installiert und die Funktion erneut gestartet, doch der Fehler tritt nach wie vor immer noch auf.

    Im Anhang liegt nun eine Version, bei der ich einige Zeilen geändert/eingefügt habe, um dem Fehler auf die Schliche zu kommen... bei Zeile 108 ist meist Ende im Gelände.

    Wieso AutoIt abstürzt, habe ich leider nicht klären können...

    Dateien

    WinAPI_FindTextDlg.au3 12,34 kB – 299 Downloads
  • Control Spy - Nützliches Tool um Infos über Controls zu erhalten / Winspector - Alternative zu Window-Info-Tool

    • Bitnugger
    • 12. Juli 2015 um 03:50

    Im englischen Forum habe ich noch ein gutes Tool gefunden, dass in dieser Liste nicht fehlen sollte: ControlViewer, wobei hier sicher erwähenswert ist, dass der Souce Code anbei liegt. :)

    Der Link zu WinSpy 1.0 (von Wildfire) ist mittlerweile nicht mehr sauber... der Download-Button auf dieser Seite funktioniert nicht, bzw. bei mir nur dann, wenn ich mit einem Rechtsklick darauf einen neuen Tab öffne... der auf dieser Seite verfügbare Download-Button bietet eine "Malavida_Download_Manager.exe" an, welcher vorab noch ein paar echt ekligen Dinge installieren will. <X
    Ich habe die Installation allerdings in der Sandbox gestartet, die winspy-setup.exe dann während der Installation aus dem virtuellen Verzeichnis nach ..\Downloads verschoben, den Installationsprozess mit 'procexp' gekillt und abschließend noch den Sondermüll aus der Sandbox gelöscht.

    Die winspy-setup.exe habe ich mit Comodo auf Viren überprüft und als Dateianhang angefügt.

    Von ControlSpy... ich sollte doch öfter mal im Forum kramen... sind nun die Versionen v5 und v6 im Angebot... wobei ich aber noch nicht ausmachen kann, wieso da zwei Versionen in einem Pack angeboten werden.

    Dateien

    winspy-setup.rar 310,8 kB – 1.056 Downloads
  • gelöst - einlesen von 'zeilen' aus config datei in ein Array

    • Bitnugger
    • 11. Juli 2015 um 21:35

    Hier in dem StringRegExp-Tutorial von SEuBo wird es gut erklärt...
    Die (zusätzlichen) Beispiele aus der deutschen AutoIt-Hilfe solltest du dir auch anschauen!

  • FTP Verbindung herstellen

    • Bitnugger
    • 11. Juli 2015 um 02:44

    Na fein, da freut sich doch der Mensch... 8)

    Dass es nun funktioniert, liegt einzig an der Funktion __InternetSetOptionsW(), mit der die Timer für Connect und Recive durch den infinitiven (unbegrenzten) Wert (0xFFFFFFFF) deaktiviert werden.

    Wenn also vorab kein Fehler auftritt (z. B. Hostname konnte nicht aufgelöst werden), welcher bereits von FTPEx.au3 abgefangen wird, wartet das Script auf Antwort vom Server, bis das der Arzt kommt.

    Auf ein Minimum reduziert bräuchtest du lediglich...

    _Open_FTP_Session()
    __InternetSetOptionsW() ; der Timeout-Wert sollten für den alltäglichen Gebrauch aber 'etwas' moderater gewählt werden... z. B. 0x0000EA60 = 60 Sekunden :D
    _Connect_FTP_Server()
    _ProgressDownload()
    _Exit()


    Die restlichen Funktionen sind informativer bzw. kosmetischer Natur und teils nur vorhanden, um das Handling mit DebugOut() zu vereinfachen.

    Um zu verstehen, warum es jetzt mit deinem Server funktioniert, bräuchtest du dich ergo nur mit __InternetSetOptionsW() befassen.

  • ICACLS: Ich finde den Fehler einfach nicht

    • Bitnugger
    • 9. Juli 2015 um 17:26

    $iError liefert dir den 'exit code' von @ComSpec bzw. ICACLS zurück - und wenn die Heinzelmännchen es nicht geändert haben, bedeutet 0 (%ERRORLEVEL% = 0) immer noch, dass KEIN Fehler aufgetreten ist. ;)

    Bash
    ICACLS ...
    
    
    if %ERRORLEVEL% EQU 0 @echo Alles easy gelaufen!

    RunWait
    Return Value

    Success: the exit code of the program that was run.
    Failure: sets the @error flag to non-zero.

    ...wobei ich allerdings bei RunWait noch nie gesehen habe, dass @error <> 0 ist, obwohl ich den schon sehr oft benutzt habe.


    AutoIt
    ; _RunDos() ==> RunWait() in Kurzform...
    #include <Process.au3>
    ; "m:\ICACLSTESTDIR" und den User "filezilla" gibt es bei mir...
    _PrintResult(_RunDos("ICACLS m:\ICACLSTESTDIR /grant:r filezilla:(S,RD,WD,AD,REA,X,RA) /T 2>&1>m:\Run_RESULT.txt"), @ScriptLineNumber)
    _PrintResult(_RunDos("ICACLS m:\ICACLSTESTDIR /grant:r filezilla:(OI)(CI)(IO)(F) /T 2>&1>m:\Run_RESULT.txt"), @ScriptLineNumber)
    Func _PrintResult($iRc, $iScriptLineNumber, $iError = @error, $iExtend = @extended)
        Local $aRESULT = FileReadToArray("m:\Run_RESULT.txt")
        FileDelete("m:\Run_RESULT.txt")
        ConsoleWrite("! ScriptLineNumber: " & $iScriptLineNumber & @TAB & "ICACLS exit code: " & $iRc & @TAB & "#Error: " & $iError & @TAB & "#Extended: " & $iExtend & @CRLF)
        For $i = 0 To UBound($aRESULT) -1
            ConsoleWrite("> " & $aRESULT[$i] & @CRLF)
        Next
        ConsoleWrite(@CRLF)
    EndFunc
    Alles anzeigen


    Ausgabe:

    --> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop
    ! ScriptLineNumber: 12 ICACLS exit code: 0 #Error: 0 #Extended: 0
    > Bearbeitete Datei: m:\ICACLSTESTDIR
    > 1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.

    ! ScriptLineNumber: 13 ICACLS exit code: 0 #Error: 0 #Extended: 0
    > Bearbeitete Datei: m:\ICACLSTESTDIR
    > 1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.

    +>17:08:27 AutoIt3.exe ended.rc:0


    Nachtrag:

    Zitat von Sirius

    For $i = 1 To $OASCHList[26]

    Feste Werte zu verwenden, um ein Array auszulesen, ist i.d.R. eh unfein... aber ich dachte mir, das macht er, weil er ganz sicher ist, dass die Größe des Arrays konstant ist.

    Wenn kein Zähler in $Array[0] ist, mache ich es mit UBound($Array)

  • ICACLS: Ich finde den Fehler einfach nicht

    • Bitnugger
    • 9. Juli 2015 um 09:13

    Seitens AutoIt scheint dann ja alles ok zu sein und der Fehler tritt womöglich bei ICACLS auf, von dem du, weil du es mit Run() startest, keinen 'exit code' bekommst.

    Ich würde aber in jedem Fall wissen wollen ob der Befehl ohne Fehler ausgeführt wurde... und daher den Befehl mit RunWait() starten...

    Local $iError = RunWait('"' & @ComSpec & '" /c ICACLS "' & $OAWPath & $OAWList[$i] & '" /grant:r Innendienst:(S,RD,WD,AD,REA,X,RA) /T', '', @SW_HIDE)
    If $iError <> 0 Then ...

  • FTP Verbindung herstellen

    • Bitnugger
    • 7. Juli 2015 um 22:28

    Teste es mal mit diesem Script, ob es damit geht...

    In Zeile 41 - 52 kannst du die Daten für deinen Server eintragen.

    Die Timer für CONNECT_TIMEOUT und RECEIVE_TIMEOUT sind deaktiviert.

    Ein FTPStatusCallbackHandler, für erweiterte Fehlermeldungen, wird auch initiiert.


    Download ist in mehreren Varianten möglich... schaue einfach mal die Kommentare durch.

    Bereinige aber bitte den Inhalt des Debug-Windows, bevor du ihn hier hochlädst.

    Zitat von Probierer

    Connect FAILED
    >Exit code: 0 Time: 31.92

    Und das ist ja mal nicht die ganze Wahrheit... denn abgesehen davon, dass Schnuffel zwar eine Fehlerprüfung in der Funktion _InternetSetOptions() macht, diese nach Verlassen jedoch nicht weiter beachtet, bekommst du aber zumindest eine Ausgabe in der Console, die du aber nicht erwähnt hast!

    a)

    AutoIt
    ConsoleWrite("+++: Openfailed" & @CRLF)

    b)

    AutoIt
    ConsoleWrite("Connect FAILED" & @CRLF)

    c)

    AutoIt
    ConsoleWrite("Can connect OK" & @CRLF)


    Edit: Die in dem Script verwendete FTP-Adresse (ftp.mozilla.org) ist seit dem 15.05.2015 nicht mehr verfügbar!


    Zitat von Mozilla Team

    After 8/5/15, ftp protocol support for ftp.mozilla.org will be completely disabled and downloads can only be accessed through http/https.


    Statt ftp.mozilla.org dann einfach einen anderen öffentlichen Server verwenden... z. B.:
    Server: ftp.uni-koeln.de
    RemoteFile: /mirrors/debian/tools/win32-loader/stable/win32-loader.txt

    Dateien

    SlowFTP_M.au3 19,28 kB – 289 Downloads

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™