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

  • SciTE - Farbe eines Hexwertes im Skript anzeigen

    • Bitnugger
    • 21. Februar 2018 um 20:20

    Bei mir verschwindet der Tip nicht, wenn ich das Caret nach rechts/links bewege... und solange der Tip angezeigt wird, kann ich auch Zahlen (0-9) eingeben, ohne dass er verschwindet... und er verschwindet auch nicht bei Ctrl + Z und Ctrl + Y oder Ctrl + A... auch bei Sonderzeichen nicht... bis auf )... wird dann in weiß angezeigt... nur bei Buchstaben verschwindet er sofort.

    Wenn der Farbwert nicht aus 6 Hex-Werten besteht, verhält sich das auch merkwürdig...

    Global $iTest1 = 0xFFF


    Beim ersten Ctrl + Shift + F11 springt das Caret (wenn es z. B. zwischen 0x und FFF steht) vor das 0x, dann vor das =, der Tip wird aber erst beim dritten Ctrl + Shift + F11 angezeigt. ;)

  • Frage zu #RequireAdmin

    • Bitnugger
    • 21. Februar 2018 um 05:52

    Dem Interpreter ist es völlig egal, ob das Script direkt oder als kompilierte Exe "verpackt" ausgeführt wird. Zu beachten ist allerdings, dass Direktiven für den AutoIt-Wrapper nur in der kompilierten Exe zum Tragen kommen und dass diese vom Explorer ausgewertet werden.

  • Frage zu #RequireAdmin

    • Bitnugger
    • 20. Februar 2018 um 22:10
    Zitat von Tuxedo

    Warum geht das dann nicht direkt über die Systemsteuerung?

    Evtl. weil Microsoft die "Mausschubser" nicht überfordern will... und wer die erweiterten Wege bzw. "Command line tools" nutzt, wird halt wissen, was er da tut... und bekommt auch andere Möglichkeiten angeboten.

    Zitat von Tuxedo

    Mal so nebenbei gefragt Bitnugger, warum kannst du deinen neuen Beitrag zwischen meine schon vorhandenen Beiträge posten?? So eine Funktion hab ich nirgends gesehen.

    Ich auch nicht... dann werde ich meinen Beitrag wohl früher abgeschickt haben, als du deinen... und du hast meinen aber erst gesehen, nachdem du die Seite aktualisiert hast.

  • Frage zu #RequireAdmin

    • Bitnugger
    • 20. Februar 2018 um 19:41

    Versuche es mal so...

    Windows + R drücken, "msconfig" eingeben, mit Enter abschicken.

    Zum Reiter Tools wechseln, dort "UAC-Einstellungen ändern" auswählen und auf den Button "Starten" klicken...

  • SciTE - Farbe eines Hexwertes im Skript anzeigen

    • Bitnugger
    • 20. Februar 2018 um 19:16

    Habe die neue Version nun getestet... dann ist OHK aber erst mal keine Option mehr für mich.

    Nur zur Info...

    Code
    ; Variable funktioniert nicht... wird schwarz angezeigt...
    Global $g_ispTest = _
        0x859900 ;  2/2  green
    
    ; Erste Variable funktioniert, für die zweite Variable wird der Wert der ersten angezeigt...
    Global $g_ispTest2 = 0x859900, $g_ispTest3 = _
        0xFF0000 ;  2/2  green
    
    ; Funktioniert alles...
    Global $g_ispBlue    = 0x268bd2 ;  4/4  blue       33 #0087ff  55 -10 -45   38 139 210  205  82  82
    Global $g_ispCyan    = 0x2aa198 ;  6/6  cyan       37 #00afaf  60 -35 -05   42 161 152  175  74  63
    Global $g_ispGreen   = 0x859900 ;  2/2  green
    
    ; $g_ispBlue, $g_ispCyan und $g_ispGreen werden richtig angezeigt...
    Global $aColors = [$g_ispBlue, $g_ispCyan, $g_ispGreen]
    
    ; $aColors[0] wird schwarz angezeigt...
    ConsoleWrite($aColors[0] & @CRLF)
    Alles anzeigen

    Zudem sollte der ToolTip auch verschwinden, wenn man das Caret nach rechts/links bewegt.

  • SciTE - Farbe eines Hexwertes im Skript anzeigen

    • Bitnugger
    • 19. Februar 2018 um 20:40
    Zitat von BugFix

    Du wirst sehen, dass die Farbe gefunden und korrekt ausgegeben wird

    Ja, aber nur dann, wenn ich mit dem Caret vor/hinter/über einem Wert stehe... vor/hinter/über einer Variable bekomme ich 0x000000.... dann wird nämlich print('+ '..string.format('0x%s%s%s', R,G,B)) ausgegeben.

    Code: GetColorValueFromVariable
    ...
                if _fBGR == true then
       print('- '..string.format('0x%s%s%s', R,G,B))
                    scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', R,G,B)))
                else
                    scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', B,G,R)))
       print('+ '..string.format('0x%s%s%s', R,G,B))
                end
    ...
    Code
    ; Variable funktioniert nicht... print('+ '..string.format('0x%s%s%s', R,G,B)) wird ausgegeben
    Global $g_ispCyan2 = 0x2aa198 ;  6/6  cyan       37 #00afaf  60 -35 -05   42 161 152  175  74  63
    
    ; Variable funktioniert nicht... print('+ '..string.format('0x%s%s%s', R,G,B)) wird ausgegeben
    Global $g_ispCyan3 = _
        0x2aa198
    
    ; Beides funktioniert... und nur hier wird die Zeile print('DEBUG_RGB',R,G,B) ausgeführt
    Global $g_ispCyan4 = 0x2aa198
    ;  6/6  cyan       37 #00afaf  60 -35 -05   42 161 152  175  74  63
  • Frage zu #RequireAdmin

    • Bitnugger
    • 19. Februar 2018 um 20:02

    #RequireAdmin ist für Skripte vorgesehen, die von AutoIt ausgeführt werden.

    Wird das Skript kompiliert, müssen die Wrapper-Direktiven verwendet werden. Dadurch wird eine RT_MANIFEST-Ressource zur ausführbaren Datei hinzugefügt, die der Explorer dann liest und ein zusätzliches Schildsymbol über dem Symbol der EXE anzeigt, um dem User zu signalisieren, dass die (aktivierte) UAC meckern wird, wenn das Programm ausgeführt werden soll.

    Programme mit erhöhten bzw. administrativen Rechten mit Windows starten (Autostart) wird von Microsoft aus gutem Grund unterbunden, es geht aber z.B. mit dem Taskplaner...

    "Invoker" heißt nichts anderes als "Aufrufer"... was aber eben keine administrativen Rechte beinhaltet, weshalb die UAC dann auch nicht meckert.

  • SciTE - Farbe eines Hexwertes im Skript anzeigen

    • Bitnugger
    • 19. Februar 2018 um 19:41
    Zitat von BugFix

    Ich habe im Moment keine Ahnung, warum die Farbe sich nicht setzen lässt.

    Bestimmt weil ich die Variablen vorab in Zeile 18 deklariert habe... und du dann den Wert in dieser Zeile suchst... den du da aber nicht findest. ;)

    AutoIt
    ; Variable funktioniert nicht...
    Global $g_ispCyan2 = 0x2aa198 ;  6/6  cyan       37 #00afaf  60 -35 -05   42 161 152  175  74  63
    
    ; Beides funktioniert...
    Global $g_ispCyan3 = 0x2aa198
    ;  6/6  cyan       37 #00afaf  60 -35 -05   42 161 152  175  74  63
  • SciTE - Farbe eines Hexwertes im Skript anzeigen

    • Bitnugger
    • 19. Februar 2018 um 17:10

    Ich würde die (4) Funktionen gerne via Ownhotkeys aufrufen, weil mein SciTE-Menü überfüllt ist... doch das geht leider nicht, da die angezeigte Farbe dann immer weiß ist.

    Code
    #~ Ctrl+Win, Ctrl+NUMPAD_6
    own.mode.cmd.102=ShowHexColorFromCursor()
    own.mode.descript.102=Ctrl+$(own.mode.indicator.descript), Ctrl+NUMPAD_6|Show RGB-HexColor from value under cursor position

    Wäre schön wenn das ginge...

    Edit: Wenn ich hier in dem File mit dem Caret auf einer Variablen stehe, ist die angezeigte Farbe immer schwarz... stehe ich auf einem Farbwert, wird sie korrekt angezeigt... im Anhang ist auch das Include.


    ShowHexColorFromCursor.png

    Dateien

    SOLARIZED_PALETTE.au3 2,5 kB – 280 Downloads
  • Frage zu #RequireAdmin

    • Bitnugger
    • 19. Februar 2018 um 13:29

    Versuche es mal hiermit...

    AutoIt
    ;-- TIME_STAMP   2018-02-19 13:28:27   v 0.1
    
    #RequireAdmin
    
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Compile_Both=y
    #AutoIt3Wrapper_UseX64=n ; y
    #AutoIt3Wrapper_Res_requestedExecutionLevel=highestAvailable
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    If Not @Compiled Then Exit MsgBox(BitOR(16, 262144), @ScriptName, 'Du musst das Script erst kompilieren, um es ausführen zu können!')
    
    ; Tu was... und immer brav an die "x64 Redirection" denken!!!
    Alles anzeigen
  • Unterschied Explorer Doppelklick zu ShellExecute

    • Bitnugger
    • 17. Februar 2018 um 23:14

    Im Anhang mal meine Einträge aus der Registry... plus die Default_AVI.reg, mit Einstellungen wie sie direkt nach der Installation von Windows sind.

    Dateien

    AVI_RegFiles.rar 3,82 kB – 449 Downloads
  • Mit ftp:// Daten kopieren

    • Bitnugger
    • 17. Februar 2018 um 20:12

    Es liegt ganz sicher nicht an einer fehlenden Funktion, denn dann würdest du diese auch benötigen, wenn du den Kopierpfad explizit angibst.

    Wenn du beim Auslesen der Ordnerstruktur keine Werte bekommst, dann lasse dir mal mit _FTP_GetLastResponseInfo anzeigen, was Sache ist... vermuten würde ich, du hast entweder keine ausreichenden Berechtigungen (lokal und/oder auf dem Server) oder einen nicht existierenden Pfad angegeben, evtl. weil du nicht auf die Schreibweise geachtet hast.

  • Unterschied Explorer Doppelklick zu ShellExecute

    • Bitnugger
    • 17. Februar 2018 um 18:25

    Folgendes Script habe ich von einem Freund testen lassen...

    AutoIt
    ;-- TIME_STAMP   2018-02-17 16:27:54   v 0.1
    
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Compile_Both=y
    #AutoIt3Wrapper_UseX64=y
    ;~ #AutoIt3Wrapper_Change2CUI=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    #include <APIRegConstants.au3>
    #include <WinAPIReg.au3>
    
    If @Compiled Then
        Local $sAVI = FileOpenDialog('Select *.avi', '', 'Video (*.avi)')
        If $sAVI Then ShellExecute($sAVI)
    EndIf
    Alles anzeigen

    Zuerst hat er die 32-Bit-Exe gestartet und wurde dann gefragt, mit welcher Anwendung er die *.avi öffnen will, wobei er dann den VLC Media Player (x64) angegeben hat. Als er danach erneut die 32-Bit-Exe gestartet hatte, wurde das *.avi allerdings nicht wie zu erwarten mit dem VLC Media Player geöffnet, sondern mit "Filme & TV" - so auch mit der 64-Bit-Exe!

    Danach hat er manuell über den Eigenschaftendialog *.avi mit dem VLC Media Player verknüpft und dann wird das *.avi ohne Nachfrage mit beiden Exe mit dem VLC Media Player geöffnet...

  • Unterschied Explorer Doppelklick zu ShellExecute

    • Bitnugger
    • 17. Februar 2018 um 13:07

    Hast du evtl. den VLC Media Player und/oder andere Anwendungen, die mit *.avi verknüpft werden können, als 32-Bit und 64-Bit Version installiert?

  • Unterschied Explorer Doppelklick zu ShellExecute

    • Bitnugger
    • 16. Februar 2018 um 21:12

    Führe dein Script mal als 64-Bit-Anwendung aus...

    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    ShellExecute('Datei.avi')
  • Mit ftp:// Daten kopieren

    • Bitnugger
    • 16. Februar 2018 um 11:14

    Würde mich sehr wundern, wenn du für FTP spezielle Treiber/Komponenten benötigst. Du solltest besser mal nach jeder FTP-Funktion den Error-Code prüfen...

  • Errormessage Option

    • Bitnugger
    • 15. Februar 2018 um 18:23
    Zitat von Lanealine

    Habe es nochmal Neuinstalliert, Fehler ist aber immernoch da.

    Womit dann wohl klar wäre, das du die Verknüpfung selbst ändern musst...

    ChangeOpenWith.png

  • Automatisch Fenster auf dem Bildschirm anordnen, auf welchem der Mauscursor ist

    • Bitnugger
    • 14. Februar 2018 um 10:43

    Je älter die Leiche, desto... :D

    Der Beitrag von veronesi ist vom 2. April 2010!

    Zitat von AutoMit

    Wie komme ich von:


    http://www.autoit.de/index.php…Thread&threadID=19072

    auf den Beitrag, in dem ich die Funktionen finden?

    Indem du den Link...

    http://www.autoit.de/index.php?page=Thread&amp;threadID=19072

    so änderst...

    https://autoit.de/index.php?thread/19072

    Zitat von AutoMit

    Das Script funktioniert

    Das Script läuft... aber funktioniert sicher nicht so, wie gewünscht... denn zumindest bei mir werden auch die Fenster von Monitor 2 auf Monitor 1 verschoben, wenn sich die Maus auf Monitor 1 befindet.

    Das liegt daran, dass beim Aufruf von TileWindows kein Window-Handle für $hParent angegeben wird, weshalb dann das Desktop-Window als Parent-Window genommen wird.

    Zudem wird es evtl. schwierig, ein Window-Handle für $hParent anzugeben, dass für alle zu arrangierenden Windows das Parent-Window sein muss, wenn diese von verschiedenen Anwendungen und/oder keine Child-Windows sind.

    _WinAPI_TileWindows : Tiles the specified child windows of the specified parent window

    AutoIt: _WinAPI_TileWindows
    #include <WinAPISysWin.au3>
    
    _WinAPI_TileWindows ( $aWnds [, $tRECT = 0 [, $hParent = 0 [, $iFlags = 0 [, $iStart = 0 [, $iEnd = -1]]]]] )

    Und...

    DllCall("user32.dll", "int", "TileWindows", "int", 0, "int", 0, "Ptr", $Rect, "int", 0, "int", 0)

    Code
    ; https://msdn.microsoft.com/de-de/library/windows/desktop/ms633554(v=vs.85).aspx
    
    ;      Tiles the specified child windows of the specified parent window
    ;        WORD WINAPI TileWindows(
    ;          _In_opt_       HWND hwndParent,
    ;          _In_           UINT wHow,
    ;          _In_opt_ const RECT *lpRect,
    ;          _In_           UINT cKids,
    ;          _In_opt_ const HWND *lpKids
    ;        );

    wäre wohl so korrekt...

    DllCall("user32.dll", "WORD", "TileWindows", "HWND", 0, "UINT", 0, "PTR", $Rect, "UINT", 0, "HWND", 0)


    Doch mit diesem DllCall (wenn nur lpRect angegeben wird) kann man das Script genauso gut auch so schreiben...

    AutoIt
    #include <WinAPIGdi.au3>
    
    Local $aRes, $tPoint = _WinAPI_GetMousePos(), $aData = _WinAPI_GetMonitorInfo(_WinAPI_MonitorFromPoint($tPoint, 0))
    If Not @error Then $aRes = DllCall("user32.dll", "WORD", "TileWindows", "HWND", 0, "UINT", 0, "PTR", $aData[0], "UINT", 0, "HWND", 0)
    If Not @error Then MsgBox(64, @ScriptName, 'Number of windows arranged: ' & $aRes[0], 3)

    oder so...

    AutoIt
    #include <WinAPIGdi.au3>
    
    Local $vRes, $tPoint = _WinAPI_GetMousePos(), $aData = _WinAPI_GetMonitorInfo(_WinAPI_MonitorFromPoint($tPoint, 0))
    If Not @error Then $vRes = _WinAPI_TileWindows(0, $aData[0])
    If Not @error Then MsgBox(64, @ScriptName, 'Number of windows arranged: ' & $vRes, 3)
    
    Func _WinAPI_TileWindows($aWnds, $tRECT = 0, $hParent = 0, $iFlags = 0, $iStart = 0, $iEnd = -1)
        If __CheckErrorArrayBounds($aWnds, $iStart, $iEnd) Then Return SetError(@error + 10, @extended, 0)
    
        Local $iCount = $iEnd - $iStart + 1
        Local $tWnds = DllStructCreate('hwnd[' & $iCount & ']')
        $iCount = 1
        For $i = $iStart To $iEnd
            DllStructSetData($tWnds, 1, $aWnds[$i], $iCount)
            $iCount += 1
        Next
    
        Local $aRet = DllCall('user32.dll', 'word', 'TileWindows', 'hwnd', $hParent, 'uint', $iFlags, 'struct*', $tRECT, _
                'uint', $iCount - 1, 'struct*', $tWnds)
        If @error Then Return SetError(@error, @extended, 0)
        ; If Not $aRet[0] Then Return SetError(1000, 0, 0)
    
        Return $aRet[0]
    EndFunc   ;==>_WinAPI_TileWindows
    Alles anzeigen
  • Neue Autoit-Version viele Bugfixes

    • Bitnugger
    • 14. Februar 2018 um 08:36
    Zitat von Converter

    Dieses Release hat viele Fixes, es lohnt sich.

    Die Frage dabei ist dann wohl, was sich lohnt... die gefixten Funktionen, und/oder die Arbeit, um die alten Scripte wieder ans Laufen zu bringen! 8o

  • Mit ftp:// Daten kopieren

    • Bitnugger
    • 13. Februar 2018 um 18:42

    Damit sollte es gehen: [Beispiel] FTP-Downloader (rekursive Download's )

    PS: Nachdem ich in jedes der 6 Verzeichnisse eine Datei hinzugefügt hatte, wird nun das Datum für alle Verzeichnisse korrekt angezeigt.

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™