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

Beiträge von BugFix

  • ConsoleWrite() rot färben und trotzdem per Zeilennummer ins Programm springen

    • BugFix
    • 28. Mai 2021 um 20:22
    Zitat von HansJ54

    Ich habe gesucht, wo die Dinger definiert sind, aber nicht gefunden.

    In der Source.

    Zitat von HansJ54

    Die müsste aber natürlich "Sprungmarke" beherrschen.

    DAS ist überhaupt kein Problem, dazu kann ich eigene Sprungmarkendefinitionen erstellen. Weitaus problematischer ist die Farbgebung, da das nur mit Lexer möglich ist und ich wohl dazu versuchen müsste die styles umzubiegen.

    Was ich sicher hinbekomme:

    ConsoleWrite($sText, $bErr) ; $bErr=True(rot) / False(blau) bzw. auch die Farben der anderen style.errorlist.

    !@@ Debug(1234) : Text Fehler

    >@@ Debug(1234) : Text Sonstiges

    Ist dann mit Sprungmarke.

  • ConsoleWrite() rot färben und trotzdem per Zeilennummer ins Programm springen

    • BugFix
    • 28. Mai 2021 um 19:47
    Zitat von HansJ54

    Danke für die Info - mir fehlt allerdings das Hintergrundwissen zu den Möglichkeiten in SciTEUser.properties. "style.errorlist.3" etc. müssen ja irgendetwas an Programm dahinter haben, vielleicht ist ein"...x" das was ich suche?

    Wofür die einzelnen style.errorlist.n zuständig sind habe ich doch oben detailliert angeführt:

    n = 3 - Sprungmarke Fehler (Standard: rot)

    n = 9 - Sprungmarke Info (Standard: pink)

    n = 4, 10, 11, 12 - abhängig vom ersten Zeichen (z. B. ! - rot)

    Im Normalfall brauchst du daran nichts ändern.

    Zitat von HansJ54

    Ich habe verstanden, dass ich mit dem Voransetzen eines "Farb-Zeichens" wie z.B. "!" zwar eine Farbe in der Zeile beeinflusse, aber dass gleichzeitig die Sprungfunktion damit nicht mehr geht (richtig?).

    Richtig, es gibt nur die 2 oben genannten Sprungmarken, die geparst werden können. Dazu muss deren Muster exakt eingehalten werden.

    Error: 'STRING-oder-INTEGER (ZEILEN-NR[,SPALTE]) := TEXT'

    Info: 'INTEGER-oder-STRING_ohne_Leerzeichen & @TAB & @TAB & ZEILEN-NR'

    Zitat von HansJ54

    Was ich wollte ist an sich gleich aussehende Sprungzeilen verschieden einzufärben, also z.B. so:

    Das ist standardmäßig nicht möglich, da die Farbgebung über den Lexer erfolgt und dieser anhand eines Musters entscheidet, welcher style.errorlist.n vorliegt.

    Wäre dir geholfen mit einer Funktion: ConsoleWriteColor($sText, $iColor) ?

    Sollte m.M. nach nicht allzu schwierig umzusetzen sein mithilfe des SciTEInterface.

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2021.04.04)

    • BugFix
    • 28. Mai 2021 um 18:16

    ControlGetPos

    Zitat

    Erfragt die Position und die Größe eines Controls relativ zu seinem Fenster.

    Das sollte man näher erläutern:

    "Die erfragte Größe bezieht sich auf den Zustand direkt nach der Erstellung des Controls. Spätere Änderungen des Fonts, die sich auf die Größe des Controls auswirken, finden keine Berücksichtigung!"

    Da wir meist statisch mit Controls arbeiten und die obige Funktion eher für fremde Controls genutzt wird, fällt einem das kaum auf. Wenn man jedoch mit seinen eigenen Controls dynamisch umgeht ist das ein Stolperstein.

  • INI Dateiname dynamisch

    • BugFix
    • 26. Mai 2021 um 14:27
    Zitat von Lottich

    freaks 😅 das geht doch bestimmt auch als kompletter einzeiler ausserhalb einer funktion

    Ja, klar - und vor allem erschließt sich jedem auf den ersten Blick worum es geht. :whistling:

  • INI Dateiname dynamisch

    • BugFix
    • 25. Mai 2021 um 22:11

    Ich verwende i.A. für eine INI denselben Namen, wie für das Skript. Der Nachteil: Wenn ich es hardcodiere und ändere doch mal den Namen der fertigen EXE, weil mir z.B. der alte nicht so treffend erscheint, ist diese gewollte Namensgleichheit futsch.

    Deshalb hier eine Funktion, die den Namen der INI am Namen des Skriptes orientiert. Wahlweise wird nur der INI-Dateiname (Standard) oder der komplette Pfad ausgegeben.

    AutoIt
    Func _ScriptNameINI($_bFileOnly= True)
        Local $sRepl = $_bFileOnly ? '\1.ini' : '\\\1.ini'
        Return ($_bFileOnly ? '' : @ScriptDir) & StringRegExpReplace(@ScriptName, '(.+)(\.[^\.]+)$', $sRepl)
    EndFunc
  • Zur Laufzeit eine Combobox aufklappen und warten bis sie zugeklappt wird.

    • BugFix
    • 19. Mai 2021 um 16:06
    Zitat von hipfzwirgel

    Hat niemand eine Idee?

    Reduziere dein Programm auf ein minimal lauffähiges Programm, das dein Problem darstellt.! Es ist für Hilfewillige wenig motivierend, wenn wir selber ein Skript schreiben müssen, um dein Problem nachzustellen.

  • Kombination von Tastatureingaben richtig abfangen

    • BugFix
    • 19. Mai 2021 um 12:13
    Zitat von Decten

    wie das visuelle Feedback, das du schon angesprochen hast.

    Wie du siehst, hatte ich das gerade fertig, als du gepostet hattest.

    Übrigens bleibt auch der Weg über Direkteingabe des ASCII-Codes (bzw. ANSI) mit der Zifferntastatur des NUM-Blocks, musst dir nur ein paar Zahlen merken 8o :

    Code
    Ä    Ctrl+Alt+NumPad(0196)    +32    = ä        Ctrl+Alt+NumPad(0228)
    Ö    Ctrl+Alt+NumPad(0214)    +32    = ö        Ctrl+Alt+NumPad(0246)
    Ü    Ctrl+Alt+NumPad(0220)    +32    = ü        Ctrl+Alt+NumPad(0252)
    ß    Ctrl+Alt+NumPad(0223)
  • Kombination von Tastatureingaben richtig abfangen

    • BugFix
    • 19. Mai 2021 um 11:56

    Ich habe die visuelle Anzeige noch mit integriert. Dazu erzeuge ich ein Fenster, das bei aktiviertem Layout Modus im nicht sichtbaren Desktopbereich inaktiv angezeigt wird (stiehlt also nicht den Fokus). Dadurch erscheint in der TaskBar eine Fläche mit dem Icon der GUI (habe ich angehängt, Icon kann ich nicht anhängen, deshalb als zip). Beim Beenden des Modus wird die GUI deaktiviert und somit verschwindet die Anzeige wieder aus der TaskBar.

    AutoIt
    ;-- TIME_STAMP   2021-05-19 11:45:13
    
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <StructureConstants.au3>
    #include "VKCodeConstants.au3"
    
    Opt('TrayIconHide', 1)
    Opt('GUICloseOnESC', 0)
    
    OnAutoItExitRegister("_KeyHookOf")
    
    HotKeySet('^!{F7}', '_Exit') ; Strg+Alt+F7 zum manuellen Beenden
    
    HotKeySet("^-", "_ActivateLayoutSwitch")
    ; US-Layout:
    ;~ HotKeySet("^\", "_ActivateLayoutSwitch")
    
    Global $g_hKeyProc, $g_hMod, $g_hHook
    Global $g_VK_SHIFT = False        ; Shift (RShift or LShift) is down (True/False)
    Global $g_user32 = DllOpen("user32.dll")
    Global $g_LayoutSwitched = False
    Global $g_LayoutIco = "C:\Users\BugFix\Pictures\a_Ä.ico"   ; PFAD ANPASSEN
    Global $g_hGuiLayoutMode = GUICreate('', 24, 24, -50, -50)
    GUISetIcon($g_LayoutIco, -1, $g_hGuiLayoutMode) ; Icon der nicht sichtbaren GUI ist in der Taskbar sichtbar wenn GUI aktiviert (Skript muss kompiliert sein)
    
    ; Starte Tastatur-Hook
    _KeyHookOn()
    
    While True
        Sleep(10)
    WEnd
    
    Func _Exit()
        Exit
    EndFunc
    
    Func _ActivateLayoutSwitch()
        $g_LayoutSwitched = Not $g_LayoutSwitched  ; falls ungewollt aktiviert, wird durch nochmaliges Betätigen der Modus deaktiviert
        If $g_LayoutSwitched Then
            GUISetState(@SW_SHOWNOACTIVATE, $g_hGuiLayoutMode)
        Else
            GUISetState(@SW_HIDE, $g_hGuiLayoutMode)
        EndIf
    EndFunc
    
    Func _KeyHookOn()
        ; Registrieren der Funktion "_KeyProc" als Callback
        $g_hKeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
    
        ; Installieren einer eigenen Prozedur zur Verarbeitung der Tastaturereignisse
        $g_hMod = _WinAPI_GetModuleHandle(0)
        $g_hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($g_hKeyProc), $g_hMod)
    EndFunc
    
    Func _KeyHookOf()
        ; Entfernen der eigenen Key-Prozedur
        _WinAPI_UnhookWindowsHookEx($g_hHook)
        DllCallbackFree($g_hKeyProc)
        ; Dll Handle schliessen
        DllClose($g_user32)
    EndFunc
    
    Func _KeyProc($_nCode, $_wParam, $_lParam)
        If $_nCode < 0 Then Return _WinAPI_CallNextHookEx($g_hHook, $_nCode, $_wParam, $_lParam)
        Local $tKEYHOOKS, $vkCode, $bCapsLock = False
        $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $_lParam)
        $vkCode = $tKEYHOOKS.vkCode
    
        ; Auswerten Status Capslock
        Local $ret = DllCall($g_user32, "long", "GetKeyState", "long", $VK_CAPITAL)
        If $ret[0] Then $bCapsLock = True
    
        If $_wParam = $WM_KEYDOWN Then
            Switch $vkCode
                Case $VK_LSHIFT, $VK_RSHIFT
                    $g_VK_SHIFT = True
                Case $VK_A
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ä')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ä')
                        Return -1
                    EndIf
                Case $VK_O
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ö')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ö')
                        Return -1
                    EndIf
                Case $VK_S
                    If $g_LayoutSwitched Then
                        Send('ß')
                        Return -1
                    EndIf
                Case $VK_U
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ü')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ü')
                        Return -1
                    EndIf
            EndSwitch
        ElseIf $_wParam = $WM_KEYUP Then
            Switch $vkCode
                Case $VK_LSHIFT, $VK_RSHIFT
                    $g_VK_SHIFT = False
                Case $VK_A, $VK_O, $VK_S, $VK_U
                    $g_LayoutSwitched = False
                    GUISetState(@SW_HIDE, $g_hGuiLayoutMode)
            EndSwitch
        EndIf
        Return _WinAPI_CallNextHookEx($g_hHook, $_nCode, $_wParam, $_lParam)
    EndFunc
    Alles anzeigen

    Dateien

    a_Ä.zip 4 kB – 300 Downloads UmlauteUSLayout.au3 3,49 kB – 274 Downloads VKCodeConstants.au3 11,46 kB – 273 Downloads
  • Kombination von Tastatureingaben richtig abfangen

    • BugFix
    • 18. Mai 2021 um 20:42
    Zitat von Decten

    wie kann ich sicherstellen, dass die Umschalltaste jedes Mal abgefangen und zmdst. nach dem Senden der Tasten wieder deaktiviert wird?

    Das geht sauber mit einem Hook.

    Das Verwenden von Capslock ist aber ungünstig. Ich habe zum Initialisieren des Layoutwechsels die Kombination Strg+- verwendet, für das US-Layout wäre das dann Ctrl+\, musst du im Code aktivieren (Zeile 14). Kann man schnell mit zwei Fingern einer Hand betätigen.

    Mit dem Hotkey wird der Layoutswitch für die Tasten (a,o,u,s) aktiviert und beim Lösen der Tasten deaktiviert:

    Code
    a -> ä
    o -> ö
    u -> ü
    s -> ß
    Shift + a -> Ä
    Shift + o -> Ö
    Shift + u -> Ü

    Wird der Hotkey versehentlich betätigt, kann durch nochmaliges Betätigen der aktivierte Modus wieder zurückgesetzt werden.

    Eventuell ist es sinnvoll in die Hotkey-Funktion (_ActivateLayoutSwitch) mit einzufügen, dass du eine visuelle Benachrichtigung (z.B. Icon in der Taskleiste) über den aktiven Modus hast.

    AutoIt
    ;-- TIME_STAMP   2021-05-18 21:01:23
    
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include "VKCodeConstants.au3"
    
    OnAutoItExitRegister("_KeyHookOf")
    
    HotKeySet('^!{F7}', '_Exit') ; Strg+Alt+F7 zum manuellen Beenden
    
    HotKeySet("^-", "_ActivateLayoutSwitch")
    ; US-Layout:
    ;~ HotKeySet("^\", "_ActivateLayoutSwitch")
    
    Global $g_hKeyProc, $g_hMod, $g_hHook
    Global $g_VK_SHIFT = False        ; Shift (RShift or LShift) is down (True/False)
    Global $g_user32 = DllOpen("user32.dll")
    Global $g_LayoutSwitched = False
    
    
    
    ; Starte Tastatur-Hook
    _KeyHookOn()
    
    While True
        Sleep(10)
    WEnd
    
    Func _Exit()
        Exit
    EndFunc
    
    Func _ActivateLayoutSwitch()
        $g_LayoutSwitched = Not $g_LayoutSwitched  ; falls ungewollt aktiviert, wird durch nochmaliges Betätigen der Modus deaktiviert
    EndFunc
    
    Func _KeyHookOn()
        ; Registrieren der Funktion "_KeyProc" als Callback
        $g_hKeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
    
        ; Installieren einer eigenen Prozedur zur Verarbeitung der Tastaturereignisse
        $g_hMod = _WinAPI_GetModuleHandle(0)
        $g_hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($g_hKeyProc), $g_hMod)
    EndFunc
    
    Func _KeyHookOf()
        ; Entfernen der eigenen Key-Prozedur
        _WinAPI_UnhookWindowsHookEx($g_hHook)
        DllCallbackFree($g_hKeyProc)
        ; Dll Handle schliessen
        DllClose($g_user32)
    EndFunc
    
    Func _KeyProc($_nCode, $_wParam, $_lParam)
        If $_nCode < 0 Then Return _WinAPI_CallNextHookEx($g_hHook, $_nCode, $_wParam, $_lParam)
        Local $tKEYHOOKS, $vkCode, $bCapsLock = False
        $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $_lParam)
        $vkCode = $tKEYHOOKS.vkCode
    
        ; Auswerten Status Capslock
        Local $ret = DllCall($g_user32, "long", "GetKeyState", "long", $VK_CAPITAL)
        If $ret[0] Then $bCapsLock = True
    
        If $_wParam = $WM_KEYDOWN Then
            Switch $vkCode
                Case $VK_LSHIFT, $VK_RSHIFT
                    $g_VK_SHIFT = True
                Case $VK_A
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ä')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ä')
                        Return -1
                    EndIf
                Case $VK_O
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ö')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ö')
                        Return -1
                    EndIf
                Case $VK_S
                    If $g_LayoutSwitched Then
                        Send('ß')
                        Return -1
                    EndIf
                Case $VK_U
                    If $g_LayoutSwitched And ($g_VK_SHIFT Or $bCapsLock) Then
                        Send('Ü')
                        Return -1
                    ElseIf $g_LayoutSwitched And (Not $g_VK_SHIFT) And (Not $bCapsLock) Then
                        Send('ü')
                        Return -1
                    EndIf
            EndSwitch
        ElseIf $_wParam = $WM_KEYUP Then
            Switch $vkCode
                Case $VK_LSHIFT, $VK_RSHIFT
                    $g_VK_SHIFT = False
                Case $VK_A, $VK_O, $VK_S, $VK_U
                    $g_LayoutSwitched = False
            EndSwitch
        EndIf
        Return _WinAPI_CallNextHookEx($g_hHook, $_nCode, $_wParam, $_lParam)
    EndFunc
    Alles anzeigen


    EDIT:

    Die "VKCodeConstants.au3" brauchst du ja auch - jetzt angehängt.

    EDIT 2:

    Habe jetzt noch die normale Funktionalität der Capslock Taste berücksichtigt für Groß-/Kleinschreibung der Umlaute.

    Dateien

    VKCodeConstants.au3 11,46 kB – 336 Downloads
  • ConsoleWrite() rot färben und trotzdem per Zeilennummer ins Programm springen

    • BugFix
    • 18. Mai 2021 um 15:27
    AutoIt
    ;SciTE-Output -- Text mit Sprungmarken
    
    ; Ausgabe:    R O T
    ; ConsoleWrite( 'STRING-oder-INTEGER (ZEILEN-NR[,SPALTE]) := TEXT' & @LF )
    
    ; z.B.:
    $errText = 'Doppel-Klick springt in die Zeile und markiert diese. Angabe Spalte ist optional, Standard: 1'
    ConsoleWrite('Line: ' & '(' & @ScriptLineNumber -1 & ') := ' & $errText & @LF)
    
    ; Ausgabe:    P I N K
    ;~ ConsoleWrite( INTEGER-oder-STRING_ohne_Leerzeichen & @TAB & @TAB & 'ZEILEN-NR := TEXT' & @LF)
    
    ; z.B.:
    $infoText = 'Doppel-Klick springt in die Zeile und markiert diese.'
    ConsoleWrite(1 & @TAB & @TAB & @ScriptLineNumber -1 & ' := ' & $infoText & @LF)
    
    ; oder:
    ConsoleWrite('Text_ohne_Leerzeichen' & @TAB & @TAB & @ScriptLineNumber -1 & ' := ' & $infoText & @LF)
    Alles anzeigen

    Das Muster für ROT muss exakt so sein:

    min-1-Zeichen Leerzeichen In-runden-Klammern: Zeilennr (optional: ,Spalte) Leerzeichen Doppelpunkt-IstGleich TEXT

    EDIT:

    Du kannst auch andere Farben verwenden. Dazu musst du in der SciTEUser.properties die entsprechenden Einträge ändern/erstellen:

    Code
    # Sprungmarke Error 'STRING-oder-INTEGER (ZEILEN-NR[,SPALTE]) := TEXT'
    style.errorlist.3=fore:#FA1111
    
    # Sprungmarke Info 'INTEGER-oder-STRING_ohne_Leerzeichen & @TAB & @TAB & ZEILEN-NR'
    style.errorlist.9=fore:#F000FF
    
    # Zeile beginnt mit: - oder <
    style.errorlist.12=fore:#FF7F00
    
    # Zeile beginnt mit: +
    style.errorlist.11=fore:#00AF50
    
    # Zeile beginnt mit: >
    style.errorlist.4=fore:#0000D7
    
    # Zeile beginnt mit: !
    style.errorlist.10=fore:#FA1111
    Alles anzeigen
  • Ist das Passwortfeld gefüllt? | Teamviewer

    • BugFix
    • 18. Mai 2021 um 11:24

    Probier mal aus. Denn Abstand zwischen Rand Passwortfeld und eingetragenem Passwortzeichen habe ich händisch ausgemessen. Prüfe mal ob das bei dir identisch ist.

    AutoIt
    #include <ScreenCapture.au3>
    #include <GDIPlus.au3>
    #include <WinAPIHObj.au3>
    
    ; einmalig speichern zum Vergleich ohne PW
    Global $NonePW = _GetPixelOnPWChar()
    
    ; und dann immer wieder so
    If $NonePW = _GetPixelOnPWChar() Then
        ; PASSWORTEINGABE ERFORDERLICH
    EndIf
    
    Func _GetPixelOnPWChar()
        Local $hTV = WinGetHandle('TeamViewer Authentifizierung')
        Local $aW = WinGetPos($hTV)
        Local $aC = ControlGetPos($hTV, '', '[CLASS:Edit; INSTANCE:1]')    
        Local $iX = $aW[0] + $aC[0] + 17  ; 794 + 206 +17  (17 - Abstand Editrand li. bis Mitte PW-Pixel)
        Local $iY = $aW[1] + $aC[1] + 40  ; 354 + 72 +40   (40 - Abstand Editrand ob. bis Mitte PW-Pixel)    
        Local $hHBmp = _ScreenCapture_Capture("") ;create a GDI bitmap by capturing the desktop
        _GDIPlus_Startup()
        Local $hBmp = _GDIPlus_BitmapCreateFromHBITMAP($hHBmp) ;convert GDI to GDI+ bitmap
        _WinAPI_DeleteObject($hHBmp) ;release GDI bitmap resource because not needed anymore    
        Local $px = _GDIPlus_BitmapGetPixel($hBmp, $iX, $iY )
        _GDIPlus_BitmapDispose($hBmp)
        _GDIPlus_Shutdown()
        Return $px
    EndFunc
    Alles anzeigen
  • Normierte Zahlenanzeige

    • BugFix
    • 18. Mai 2021 um 10:21

    Hatte ich vor langer Zeit auch mal erstellt:

    AutoIt
    ; === Tausendergruppierung einfügen
    Func _NumberFormatThousand($vNumber, $ret='DE') ; bis 18 Vorkommastellen
        Local $sOut = '', $a = StringRegExp(StringReplace($vNumber, '.', ','), "(-?\d{1,3})(\d{3})?(\d{3})?(\d{3})?(\d{3})?(\d{3})?(?:\Z|(,\d+))", 3)
        For $i = 0 To UBound($a) -1
            If $a[$i] <> '' Then $sOut &= '.' & $a[$i]
        Next
        If $ret <> 'DE' Then Return StringTrimLeft(StringReplace(StringReplace($sOut, '.', ','), ',,', '.'), 1)
        Return StringTrimLeft(StringReplace($sOut, '.,', ','), 1)
    EndFunc  ;==>_NumberFormatThousand
  • Ist das Passwortfeld gefüllt? | Teamviewer

    • BugFix
    • 14. Mai 2021 um 15:14
    Zitat von Anonym343

    Das "Drumherum" möchte ich aus Datenschutzgründen nicht erklären.

    Ich möchte nur wissen, ob es eine Möglichkeit gibt zu prüfen, ob ein Passwortfeld leer oder gefüllt ist.

    Datenschutzrelevante Dinge will niemand wissen.

    Ich geb mal ein Bsp. für einen Ablauf (hat jetzt nichts mit TV zu tun):
    - Öffnen der Anwendung XY

    - Warten auf Anmeldefenster

    - Eintragen Nutzername

    - Eintragen PW

    - Bestätigen mit Button <OK>

    Dann wissen wir das "Drumherum" - und nun kannst du ganz speziell auf einzelne Punkte dieses Ablaufs verweisen.

    Denn ich weiß wirklich nicht, wann du dein PW im TV eintragen musst. Und somit kann ich dir nicht sagen, wie man dieses PW-Feld prüft.

  • Ist das Passwortfeld gefüllt? | Teamviewer

    • BugFix
    • 14. Mai 2021 um 14:50
    Zitat von Anonym343

    Wenn jemand anderes auch ein Passwort Feld prüfen möchte, welches nicht TeamViewer beinhaltet, dann soll ihm ja auch geholfen werden.

    Nennt sich XY-Problem. Man meint, dass die Lösung auf diese Art und Weise (schauen ob PW im Feld) umgesetzt werden muss (X) und verliert dabei aus den Augen, dass es andere, bessere Lösungen (Y) gibt.

    Das ist der Grund, warum wir die Fragesteller bitten auch das Drumherum zu erklären, hat keineswegs die Absicht jemanden zu diskreditieren.

    Und solange ich nicht weiß, an welcher Stelle das PW eingegeben werden soll, könnte ich den Vorgang ja auch nicht bei mir nachvollziehen um dann eine konkrete Antwort zu bringen.

  • Ist das Passwortfeld gefüllt? | Teamviewer

    • BugFix
    • 14. Mai 2021 um 14:33
    Zitat von Anonym343

    Der Sinn dabei ist, dass ich nicht 50-mal am Tag mein Passwort eingeben muss.

    ??

    Wenn du dich bei jemandem zur Hilfestellung aufschalten möchtest, brauchst du dessen Passwort.

    Soll jemand dir helfen braucht er dein Passwort.

    In welcher Konstellation musst du denn dein eigenes Passwort eingeben?

    Wenn ich TV in der Serverinstallation nutze brauche ich ebenso das PW des Ziels. - Ist das dein Einsatz, z.B. von zu Hause auf PC in der Ferne (Firma) aufschalten? Da kannst du doch im Konto die Verbindung fix festlegen und wählst nur das Ziel an - fertig.

  • Ist das Passwortfeld gefüllt? | Teamviewer

    • BugFix
    • 14. Mai 2021 um 14:08
    Zitat von Anonym343

    Hat jemand eine Idee wie ich herausfinden könnte, ob das Passwortfeld gefüllt ist oder nicht?

    Welchen Sinn soll das ergeben?

    Weiterhin ist m. W. die Automatisierung des TV ohne die (verfügbare) API nicht zulässig.

  • Kombination von Tastatureingaben richtig abfangen

    • BugFix
    • 12. Mai 2021 um 11:44
    Zitat von Moombas

    Sieht aus als würde jemand versuchen mit einer Tastatur, die keine Umlaute hat (z.B. EN-Layout), diese über einen Umweg zu simulieren.

    Das wäre das klassische XY-Problem. Lösung: Bildschirmtastatur verwenden bei gelegentlicher Nutzung. Bei dauerhafter Nutzung sollte man vielleicht zur richtigen Tastatur greifen. :P

  • Kombination von Tastatureingaben richtig abfangen

    • BugFix
    • 12. Mai 2021 um 11:34

    Unabhängig von dem Problem erschließt sich mir nicht, was du überhaupt bezweckst.

    Du definierst Hotkeys um damit Tastendrücke per Send() unsicher und unzuverlässig ans System zu senden (bzw. das Fenster, das gerade im Moment des Sendens den Fokus hat - kann mal schnell irgendein aufpoppendes Nachrichtenfenster sein). Welchen Sinn soll das ergeben, wenn du Tastendrücke durch das Drücken von Tasten simulierst?:/

  • Programm Code Zeile in Variable speichern

    • BugFix
    • 9. Mai 2021 um 21:12

    Wofür soll das ein Template sein? Das ist doch kein AutoIt Code.

    Zitat von Streat

    gibt es eine Möglichkeit eine Code Zeile in einer Variablen zu speichern?

    Du hast konkret von Code gesprochen, was deine Variable $template_text beinhaltet ist aber kein Code.

  • Programm Code Zeile in Variable speichern

    • BugFix
    • 9. Mai 2021 um 20:25

    Dann werde konkreter mit dem, was du willst (Beispiele).

    Auf deine allgemeine Frage war das eine absolut konkrete Antwort. Wenn dir nicht klar ist, was Funktionen sind und wie man sie anwendet, rate ich dir als erstes in der AutoIt Hilfe nachzulesen.

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™