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

Beiträge von autoBert

  • Function in einer Schleife laufen lassen, wobei bei jeder Wiederholung die jeweilige Variable sich um einen Wert erhöht

    • autoBert
    • 17. Juni 2020 um 14:34
    Zitat von Bernd Albrecht

    Ich möchte ein programm Schreiben, welches Designs auf einer Print on Demand Seite hochläd. ( in meinem fall: Spredshirt.de).

    Ich bekomme in FireFox (mit NoScript) nur einen Tip zu sehen: "Diese Seite steht zum Verkauf ...". Lasse ich alle Skripte zu, werde ich zu Bild+ umgeleitet, mit dubiosen Artikeln (eigentlich Werbung für BitCoin-Spekultionsgeschäfte).

    Im Falle eines Tippfehlers solltest du deinen Eingangspost korrigieren.

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

    • autoBert
    • 13. Juni 2020 um 18:08

    Mein Vorschlag wäre:

    Zitat

    Rückgabewert

    Gibt einen absoluten Pfad zurück der relativ zu $sBasePath erzeugt wird. Um dieses Vorgehen zu verhindern ist ein absoluter Pfad zu verwenden.

    Bemerkungen

    UNC-Pfade werden unterstützt.

    Um den Laufwerksbuchstaben von $sBasePath zu ermitteln ist "\" zu übergeben.

    Um $sBasePath zurückzugeben ist "" oder "." zu übergeben.

    durch die Bemerkungen ist (zumindest für Programmierer) alles weitere klar. Evtl. könnte man ein 2. Beispiel hinzufügen:

    AutoIt
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    
    Example1()
    Example2()
    
    Func Example1()
        Local $sTestPath = _PathFull(@ScriptDir & "\..\..\test")
        MsgBox($MB_SYSTEMMODAL, "", @ScriptDir & @CRLF & $sTestPath)
    EndFunc   ;==>Example1
    
    Func Example2()
        Local $sTestPath = _PathFull("..\..\test", "C:\Dir-1\Dir-2\Dir-3\Dir-4")
        MsgBox($MB_SYSTEMMODAL, "", @ScriptDir & @CRLF & $sTestPath)
    EndFunc   ;==>Example2
    Alles anzeigen

    mfg (auto)Bert

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

    • autoBert
    • 13. Juni 2020 um 12:02

    Professor Bernd: Du benutzt den relativen Path falsch, dein erwartetes Ergebnis bekommst du mit:

    C
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    
    Local $sTestPath = _PathFull("..\..\test", "F:\Dir-1\Dir-2\Dir-3\Dir-4")
    MsgBox($MB_SYSTEMMODAL, "", @ScriptDir & @CRLF & $sTestPath)

    mfg (auto)Bert

  • Text formatieren in Farbe und blinkend

    • autoBert
    • 10. Juni 2020 um 14:33
    Zitat von Professor Bernd

    Sieh dir mal die Console von SciTE an, das ist zwar ein RichEdit, aber damit du dir die farblichen Hervorhebungen vorstellen kannst.

    Die Option blinkend ist mir bei einem RichEdit unbekannt. Ein _IE-Object das HTML und CSS formatierte Dateien anzeigt wäre für sein Vorhaben wohl notwendig.

  • Ich wurde gehackt ;-)

    • autoBert
    • 1. Juni 2020 um 11:33

    Bestimmt ein Scherz aus der Antivirushersteller-Allianz, du lästerst ja gelegentlich ganz schön gegen diese. Das haben sie bestimmt nicht mit Freude abgenommen.

  • Hilfe bei hotkey und timer funktion

    • autoBert
    • 26. Mai 2020 um 13:36
    Zitat von starrfreak

    Ich weiß nicht wieso du diese Meldungen hast bei mir läuft alles, nur nicht so wie ich es haben wollte naja egal.

    Na, dann ist entweder

    • dein Skript nicht mit dem geposteten identisch
    • oder in einem bereits Includeden File die fehlende MsgBoxConstants.au3 included.

    Gut das ausmarkieren der MsgBox hat dieses Problem gelöst.

    Zitat von starrfreak

    Ich hoffe das mit dem icon nur ironisch gemeint o0 ?

    Nein, denn es wird zur Ausführung ja benötigt.

    Zitat von starrfreak

    Eure bedenken kann ich einerseits verstehen das man die Funktionen eben gezielt auf spiele anwendet, das man eine gewisse art misstrauen hat, anderer seits wen man als Anfänger anfangt wird man mit den Funktionen SEHR schnell konfrontiert.

    Diese Funktionen sind für die Automatisierung von Anwendungen nur allerletzte Wahl. Zum üben mit Timern und GUI kannst du dich ja an einer Stopuhr versuchen. Von den gefühlten 1000 sind ja mind. schon 900 durch diverse Forenupdates verloren gegangen.

    mfg (auto)Bert


  • Hilfe bei hotkey und timer funktion

    • autoBert
    • 25. Mai 2020 um 14:14
    Zitat von Yjuq

    Jeder der lernt soll auch ausprobieren

    Na jedenfalls muß der TE noch lernen ein Lauffähiges Beispielskript zu erstellen bzw. zu posten, denn sein Skript erzeugt folgende Fehlermeldungen:

    Code
    Running AU3Check (3.3.14.5)  from:C:\Program Files (x86)\AutoIt3  input:C:\Users\hB\AutoIt3.MySource\Test\Laufzeit.au3
    "C:\Users\hB\AutoIt3.MySource\Test\Laufzeit.au3"(54,25) : warning: $MB_SYSTEMMODAL: possibly used before declaration.
            MsgBox($MB_SYSTEMMODAL,
            ~~~~~~~~~~~~~~~~~~~~~~^
    "C:\Users\hB\AutoIt3.MySource\Test\Laufzeit.au3"(54,25) : error: $MB_SYSTEMMODAL: undeclared global variable.
            MsgBox($MB_SYSTEMMODAL,
            ~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\hB\AutoIt3.MySource\Test\Laufzeit.au3 - 1 error(s), 1 warning(s)
    !>14:04:56 AU3Check ended. Press F4 to jump to next error.rc:2
    +>14:04:56 AutoIt3Wrapper Finished.
    >Exit code: 2    Time: 1.692
    Alles anzeigen

    ein beifügen des Icons wäre auch hilfreich.

    mfg (auto)Bert

  • ini-Datei mit kompilieren?

    • autoBert
    • 12. Mai 2020 um 14:39

    Schau dir FileInstall an, wenn du den 3. Parameter Flag auf 1 setzt wird die Ini jedesmal mit der Orginal eingebetetten überschrieben.

    mfg (auto)Bert

  • Fehler bei Script mit DBF-UDF

    • autoBert
    • 28. April 2020 um 20:16

    Ich hatte dieselben Probleme mit dem Skript:

    Zitat


    "Fehler beim Öffnen der dbf ..."

    Ein einfügen von:

    Code
    #AutoIt3Wrapper_UseX64=n

    im Kopf des Skriptes und Problem ist verschwunden. Mein Consolenoutput von @Musashi 's Skript (mit obigem Zusatz):

    Code
    Öffnen der .dbf OK ...
    Anzahl der Datensätze = 91
    _DBF_GetFieldIndex = 0
    0  $sPLANZ = 01.01ue.FO
    ==>  $sPLANZ = 01.01ue
    1  $sPLANZ = 01.01.FO
    ==>  $sPLANZ = 01.01
    2  $sPLANZ = 01.01.01.FO
    ==>  $sPLANZ = 01.01.01
    3  $sPLANZ = 01.01.01ue.FO
    ==>  $sPLANZ = 01.01.01ue
    4  $sPLANZ = 01.01.02.FO
    ==>  $sPLANZ = 01.01.02
    5  $sPLANZ = 01.01.02ue.FO
    ==>  $sPLANZ = 01.01.02ue
    6  $sPLANZ = 01.01.03.FO
    ==>  $sPLANZ = 01.01.03
    7  $sPLANZ = 01.01.03ue.FO
    ==>  $sPLANZ = 01.01.03ue
    8  $sPLANZ = 01.01.04.FO
    ==>  $sPLANZ = 01.01.04
    9  $sPLANZ = 01.01.04ue.FO
    ==>  $sPLANZ = 01.01.04ue
    10  $sPLANZ = 01.02.FO
    ==>  $sPLANZ = 01.02
    11  $sPLANZ = 01.02ue.FO
    ==>  $sPLANZ = 01.02ue
    12  $sPLANZ = 01.02.01.FO
    ==>  $sPLANZ = 01.02.01
    13  $sPLANZ = 01.02.01ue.FO
    ==>  $sPLANZ = 01.02.01ue
    14  $sPLANZ = 01.02.02.FO
    ==>  $sPLANZ = 01.02.02
    15  $sPLANZ = 01.02.02ue.FO
    ==>  $sPLANZ = 01.02.02ue
    16  $sPLANZ = 01.02.03ug.FO
    ==>  $sPLANZ = 01.02.03ug
    17  $sPLANZ = 01.02.03ugue.FO
    ==>  $sPLANZ = 01.02.03ugue
    18  $sPLANZ = 01.02.03.FO
    ==>  $sPLANZ = 01.02.03
    19  $sPLANZ = 01.02.03ue.FO
    ==>  $sPLANZ = 01.02.03ue
    20  $sPLANZ = 01.03.FO
    ==>  $sPLANZ = 01.03
    21  $sPLANZ = 01.03ue.FO
    ==>  $sPLANZ = 01.03ue
    22  $sPLANZ = 01.03.01.FO
    ==>  $sPLANZ = 01.03.01
    23  $sPLANZ = 01.03.01ue.FO
    ==>  $sPLANZ = 01.03.01ue
    24  $sPLANZ = 01.03.02.FO
    ==>  $sPLANZ = 01.03.02
    25  $sPLANZ = 01.03.02ue.FO
    ==>  $sPLANZ = 01.03.02ue
    26  $sPLANZ = 01.04.FO
    ==>  $sPLANZ = 01.04
    27  $sPLANZ = 01.04ue.FO
    ==>  $sPLANZ = 01.04ue
    28  $sPLANZ = 01.04.0.FO
    ==>  $sPLANZ = 01.04.0
    29  $sPLANZ = 01.04.0ue.FO
    ==>  $sPLANZ = 01.04.0ue
    30  $sPLANZ = 01.04.01.FO
    ==>  $sPLANZ = 01.04.01
    31  $sPLANZ = 01.04.01a.FO
    ==>  $sPLANZ = 01.04.01a
    32  $sPLANZ = 01.04.01ue.FO
    ==>  $sPLANZ = 01.04.01ue
    33  $sPLANZ = 01.04.02.FO
    ==>  $sPLANZ = 01.04.02
    34  $sPLANZ = 01.04.02ue.FO
    ==>  $sPLANZ = 01.04.02ue
    35  $sPLANZ = 04.01.FO
    ==>  $sPLANZ = 04.01
    36  $sPLANZ = 04.01ue.FO
    ==>  $sPLANZ = 04.01ue
    37  $sPLANZ = 04.02.FO
    ==>  $sPLANZ = 04.02
    38  $sPLANZ = 04.02ue.FO
    ==>  $sPLANZ = 04.02ue
    39  $sPLANZ = 05.01.FO
    ==>  $sPLANZ = 05.01
    40  $sPLANZ = 05.01.01.FO
    ==>  $sPLANZ = 05.01.01
    41  $sPLANZ = 05.01.02.FO
    ==>  $sPLANZ = 05.01.02
    42  $sPLANZ = 05.02.01.FO
    ==>  $sPLANZ = 05.02.01
    43  $sPLANZ = 05.04.FO
    ==>  $sPLANZ = 05.04
    44  $sPLANZ = 06.01.FO
    ==>  $sPLANZ = 06.01
    45  $sPLANZ = 06.03.FO
    ==>  $sPLANZ = 06.03
    46  $sPLANZ = 06.05.01.FO
    ==>  $sPLANZ = 06.05.01
    47  $sPLANZ = 06.FO
    ==>  $sPLANZ = 06
    48  $sPLANZ = 06.06.FO
    ==>  $sPLANZ = 06.06
    49  $sPLANZ = 06.03a.FO
    ==>  $sPLANZ = 06.03a
    50  $sPLANZ = 05.01.03.FO
    ==>  $sPLANZ = 05.01.03
    51  $sPLANZ = 07.FO
    ==>  $sPLANZ = 07
    52  $sPLANZ = 09.FO
    ==>  $sPLANZ = 09
    53  $sPLANZ = 09oe.FO
    ==>  $sPLANZ = 09oe
    54  $sPLANZ = 09pr.FO
    ==>  $sPLANZ = 09pr
    55  $sPLANZ = 09a.FO
    ==>  $sPLANZ = 09a
    56  $sPLANZ = 09b.FO
    ==>  $sPLANZ = 09b
    57  $sPLANZ = 09c.FO
    ==>  $sPLANZ = 09c
    58  $sPLANZ = 09g.FO
    ==>  $sPLANZ = 09g
    59  $sPLANZ = 10.03.FO
    ==>  $sPLANZ = 10.03
    60  $sPLANZ = 10.02.FO
    ==>  $sPLANZ = 10.02
    61  $sPLANZ = 10.01.FO
    ==>  $sPLANZ = 10.01
    62  $sPLANZ = 11.02.FO
    ==>  $sPLANZ = 11.02
    63  $sPLANZ = 11.01.FO
    ==>  $sPLANZ = 11.01
    64  $sPLANZ = 12.01.FO
    ==>  $sPLANZ = 12.01
    65  $sPLANZ = 12.02.FO
    ==>  $sPLANZ = 12.02
    66  $sPLANZ = 13.01.FO
    ==>  $sPLANZ = 13.01
    67  $sPLANZ = 13.01a.FO
    ==>  $sPLANZ = 13.01a
    68  $sPLANZ = 13.01b.FO
    ==>  $sPLANZ = 13.01b
    69  $sPLANZ = 13.02.01.FO
    ==>  $sPLANZ = 13.02.01
    70  $sPLANZ = 13.02.02.FO
    ==>  $sPLANZ = 13.02.02
    71  $sPLANZ = 13.03.FO
    ==>  $sPLANZ = 13.03
    72  $sPLANZ = 14.FO
    ==>  $sPLANZ = 14
    73  $sPLANZ = 14.01.FO
    ==>  $sPLANZ = 14.01
    74  $sPLANZ = 14.02.FO
    ==>  $sPLANZ = 14.02
    75  $sPLANZ = 15.01.FO
    ==>  $sPLANZ = 15.01
    76  $sPLANZ = 15.03.FO
    ==>  $sPLANZ = 15.03
    77  $sPLANZ = 15.04.FO
    ==>  $sPLANZ = 15.04
    78  $sPLANZ = 15.05.FO
    ==>  $sPLANZ = 15.05
    79  $sPLANZ = 15.05a.FO
    ==>  $sPLANZ = 15.05a
    80  $sPLANZ = 15.05b.FO
    ==>  $sPLANZ = 15.05b
    81  $sPLANZ = 15.06.FO
    ==>  $sPLANZ = 15.06
    82  $sPLANZ = 15.07.FO
    ==>  $sPLANZ = 15.07
    83  $sPLANZ = 15.08.FO
    ==>  $sPLANZ = 15.08
    84  $sPLANZ = 15.09a.FO
    ==>  $sPLANZ = 15.09a
    85  $sPLANZ = 15.09b.FO
    ==>  $sPLANZ = 15.09b
    86  $sPLANZ = 15.11.FO
    ==>  $sPLANZ = 15.11
    87  $sPLANZ = 15.12.FO
    ==>  $sPLANZ = 15.12
    88  $sPLANZ = 15.13.FO
    ==>  $sPLANZ = 15.13
    89  $sPLANZ = 15.13FNP.FO
    ==>  $sPLANZ = 15.13FNP
    90  $sPLANZ = 15z34.FO
    ==>  $sPLANZ = 15z34
    +>20:13:43 AutoIt3.exe ended.rc:0
    Alles anzeigen
  • Win10 1909 Updateprobleme, fehlgeschlagene Updates zukünftig ausschliessen

    • autoBert
    • 27. April 2020 um 18:47

    Ich habe das Tool wushowhide.diagcab wiedergefunden:

    10058_Show or hide updates.jpg

    damit habe ich unter win10 1703 schon erfolgreich hängende Updates ausgeschlossen.

    mfg (auto)Bert

  • Win10 1909 Updateprobleme, fehlgeschlagene Updates zukünftig ausschliessen

    • autoBert
    • 26. April 2020 um 12:57

    Hallo Racer,

    • wuauserv ist bei mir gar nicht gestartet
    • nach dem löschen von C:\Windows\SoftwareDistribution
    • und dem erneuten manuellen Suchen nach Updates mittels Einstellunen (GUI)

    wurden alle Updates ordnungsgemäß installiert. Leider auch als letztes der Treiber: SAMSUNG Electronics Co., Ltd. - USB - 2.16.12.0. Diesen kann ich zwar nachträglich wieder entfernen. So läuft das System , bis auf das Touchpad, wie gewohnt, bekomme ihn aber dann bei der nächsten Update-Suche wieder. Diesen Teiber möchte ich dauerhaft ausschliessen, er ist imho der Übeltäter. Wie MS darauf kommt, dass mein Notebook den Samsung-Treiber benötigt, nur weil ich über ein Samsung Handy als WLan-Hotspot ins Internet gehe, ist mir schleierhaft.

    Die ursprüngliche Frage, bestimmte Updates ausschliessen, steht also immer noch im Raum.


    mfg (auto)Bert

  • Win10 1909 Updateprobleme, fehlgeschlagene Updates zukünftig ausschliessen

    • autoBert
    • 25. April 2020 um 14:59

    Hallo

    ich habe seit gestern ein Problem mit der Updatefunktion. Fehlgeschlagene Updates verhindern weitere Aktualisierungen:

    10057_Einstellungen.jpg

    der vogeschlagene Weg über Neustart brachte nicht den gewünschten Erfolg. Kennt jemand eine Möglichkeit, bestimmte Updates zu unterbinden?

    vielen Dank im Voraus und ein sonniges Wochenende

    (auto)Bert

  • _MouseTrapCircle

    • autoBert
    • 13. April 2020 um 11:04
    Zitat von BugFix

    autoBert

    Hast du die Probleme auch, wenn du das Skript kompilierst?

    Ja.

    Zitat von BugFix

    Im Moment scheint sich das Problem an der "Home"-Version festzumachen.

    Ich schiebe es auf mein Touchpad.

    Edit: mit Touchscreen funktioniert es.

    mfg (auto)Bert

  • _MouseTrapCircle

    • autoBert
    • 12. April 2020 um 19:25

    Ich benutze AutotoIt 3.3.14.5 zusammen mit:

    10061_Einstellungen.jpg

    auf

    10060_Einstellungen.jpg

    Beim Versuch das Ergebnis zu dokumentieren wird aber seltsanerweise der Mauszeiger im Kreis gecaptured:

    10059_VollBild.jpg

    so das dies wohl eine weitere Eigenart meines Systems ist. Ein eingefügtes Consolewrite:

    Code
            ConsoleWrite($g__aCircle[0] & @TAB & $g__aCircle[1] & @CRLF)
    Code
    ergibt: 500    500

    mfg (auto)Bert

  • _MouseTrapCircle

    • autoBert
    • 12. April 2020 um 10:52

    Hallo BugFix,

    bei beiden Beispielen wird der Mauszeiger festgefroren, ein Bewegen ist nicht möglich. Bei Beispiel 1 (wie beschrieben) innerhalb des Kreises (auf dem Mittelpunkt), bei Beispiel 2 etwas rechts unterhalb des Kreises (auf der Verlängerung des Radius).

    mfg (auto)Bert

  • TreeViewItems als Array

    • autoBert
    • 9. April 2020 um 12:25

    Hallo Gremlin78,

    _GUICtrlTreeView_GetText erwartet das zugehörige Item, ansonsonsten gibt es das 1. aus. Du must du dir also diese merken und mitübergeben:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <GUITreeView.au3>
    #include <WindowsConstants.au3>
    
    Example_Tree()
    Func Example_Tree()
        GUICreate("My test treeview GUI", 350, 210)
        Local $idTreeview = GUICtrlCreateTreeView(5, 5, 340, 200)
        Local $idTreeview1 = GUICtrlCreateTreeViewItem("#1",$idTreeview)
        Local $idTreeview2 = GUICtrlCreateTreeViewItem("#2",$idTreeview)
        Local $idTreeview3 = GUICtrlCreateTreeViewItem("#3",$idTreeview)
        Local $idTreeviewArray[4]
        $idTreeviewArray[0] = GUICtrlCreateTreeViewItem("#1.1",$idTreeview1)
        $idTreeviewArray[1] = GUICtrlCreateTreeViewItem("#1.2",$idTreeview1)
        $idTreeviewArray[2] = GUICtrlCreateTreeViewItem("#2.1",$idTreeview2)
        $idTreeviewArray[3] = GUICtrlCreateTreeViewItem("#2.2",$idTreeview2)
        GUICtrlSetState($idTreeview2, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))
        GUISetState(@SW_SHOW)
        While 1
            $iMsg = GUIGetMsg()
            Switch $iMsg
                Case $GUI_EVENT_CLOSE
                    ExitLoop
                Case $idTreeviewArray[0] to $idTreeviewArray[3]
                    MsgBox(0,"you pressed",_GUICtrlTreeView_GetText($idTreeview, $iMsg))
            EndSwitch
        WEnd
    EndFunc
    Alles anzeigen

    Variante 2 mit Dummy-Controls

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <GUITreeView.au3>
    #include <WindowsConstants.au3>
    
    Example_Tree()
    Func Example_Tree()
        GUICreate("My test treeview GUI", 350, 210)
        Local $idTreeview = GUICtrlCreateTreeView(5, 5, 340, 200)
        Local $idTV_Start = GUICtrlCreateDummy()
        Local $idTreeview1 = GUICtrlCreateTreeViewItem("#1",$idTreeview)
        Local $idTreeview2 = GUICtrlCreateTreeViewItem("#2",$idTreeview)
        Local $idTreeview3 = GUICtrlCreateTreeViewItem("#3",$idTreeview)
        GUICtrlCreateTreeViewItem("#1.1",$idTreeview1)
        GUICtrlCreateTreeViewItem("#1.2",$idTreeview1)
        GUICtrlCreateTreeViewItem("#2.1",$idTreeview2)
        GUICtrlCreateTreeViewItem("#2.2",$idTreeview2)
        GUICtrlSetState($idTreeview2, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))
         Local $idTV_End = GUICtrlCreateDummy()
        GUISetState(@SW_SHOW)
        While 1
            $iMsg = GUIGetMsg()
            Switch $iMsg
                Case $GUI_EVENT_CLOSE
                    ExitLoop
                Case $idTV_Start to $idTV_End
                    MsgBox(0,"you pressed",_GUICtrlTreeView_GetText($idTreeview, $iMsg))
            EndSwitch
        WEnd
    EndFunc
    Alles anzeigen

    mfg (auto)Bert

  • MsgBox verlangsamt den Skriptablauf unter Win 10

    • autoBert
    • 6. April 2020 um 13:37
    Zitat von Musashi

    Mein Zwischenfazit :

    Sofern keiner von uns eine praktikable Lösung findet, was ohne den AutoIt-Core-Sourcecode eher unwahrscheinlich ist, sollten wir die weitere Entwicklung im EN-Forum abwarten.

    Dem kann ich nur zustimmen, denn imho liegt die Ursache in Win10 und dessen derzeitiger Umstellung der Ideolodie: Weg von Win32 Programmen hinzu Win10-Apps.

    mfg (auto)Bert

  • Problem mit ControlGetPos + WinMove

    • autoBert
    • 3. April 2020 um 15:06
    Zitat von Kanashius

    Ich weiß den Befehl fürs abfragen des Clientbereichs grad nicht auswendig, sollte in der WinAPi sein...

    Da sollte doch das native WinGetClientSize genügen,. Ich kann bei der Breite keine Differenz zu der Breite von WinGetPos feststellen, so daß ich zu folgendener Lösung komme:

    C
    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ; #include <WindowsConstants.au3>
    ; #include <Array.au3>
    
    ; ====  Um den Effekt zu sehen, mehrmals auf den OK-Button klicken.  ====
    ; ====  To see the effect, click the OK button several times.        ====
    ; ====  ändert sich jetzt nur beim 1. Klick                           ====
    
    Opt("MustDeclareVars", 1)
    
    Example()
    
    Func Example()
    
        ; GUI
        Local $iGuiHeight = 120
        Local $hGui = GUICreate("My GUI", 260, $iGuiHeight, 510, 310)
    
        ; Label Main
        Local $aLblMainRect ;$aClient $aWin
        Local $idLabel_Main = GUICtrlCreateLabel("This is a sample text to fill the label.", 0, 8)
        GUICtrlSetResizing($idLabel_Main, $GUI_DOCKSIZE)
        GUICtrlSetBkColor($idLabel_Main, 0xFFCC00)
    
        ; Button "Ok"
        Local $idBtn = GUICtrlCreateButton("Ok", 40, 75, 60, 20)
    
        GUISetState(@SW_SHOW)
    
    
        While 1
            Switch GUIGetMsg()
    
                Case $GUI_EVENT_CLOSE
                    ExitLoop
    
                Case $idBtn
    
                    ; Determine the dimensions of the label.
                    ; [0] = X-Position
                    ; [1] = Y-Position
                    ; [2] = Breite
                    ; [3] = Höhe
                    $aLblMainRect = ControlGetPos($hGui, "", $idLabel_Main)
                    ;$aClient = WinGetClientSize($hGui)
                    ;$aWin = WinGetPos($hGui)
                    ;_ArrayDisplay($aClient)
                    ;         If @error Then MsgBox(0, "", "Error")
    
                    ; Try to adjust the width of the GUI to the width of the label.
    ;                WinMove($hGui, "", 500, 300, $aLblMainRect[2] - $aWin[2] + $aClient[0], $iGuiHeight)
    ;                da zumindest bei meiner Standardeistellung $aWin[2] = $aClient[0] genügt
                    WinMove($hGui, "", 500, 300, $aLblMainRect[2], $iGuiHeight)
            EndSwitch
        WEnd
        GUIDelete()
    EndFunc   ;==>Example
    Alles anzeigen

    mfg (auto)Bert

  • Per Script Useraktivität simulieren?

    • autoBert
    • 26. Februar 2020 um 17:59
    Zitat von akira2012

    ein Windows 10 Rechner der lt. Domäneneinstellung nach 5 Minuten inaktivität zum Lockscreen wechselt. Auf dem sollen aber verschiedene Dinge laufen die einen Angemeldeten Benutzer verlangen.

    ...

    Ach und bitte keine Hinweise aller "Der Admin hat sich was dabei geacht".

    er hat zumindest nicht bedacht, daß an diesem Arbeitsplatz auch "Dinge" laufen sollen die, zwar einen angemeldeten Benutzer aber, nicht unbedingt aktiven Benutzer erfordern. Also bitte ihn doch einfach, dies in den Einstellungen zu berücksichtigen.

    mfg (auto)Bert

  • GUI reagiert nicht auf Buttons evt. wegen Schleife oder Sleep?

    • autoBert
    • 21. Februar 2020 um 19:59

    Den Wert für das Intervall würde ich beim Setzen prüfen:

    Code
            Case $idInput
                If GUICtrlRead($idInput) < 1 Then
                    MsgBox($MB_ICONERROR, "Wert zu klein...", "Der Intervall in Minuten muss mindestens 1 Minute betragen")
                    GUICtrlSetData($idInput, 1)
                EndIf
            Case $BtnProgrammStarten
                    Hunting()

    Da das Intervall ja auch während das Programm läuft geändert werden kann, würde ich das Label direkt vor dem AdlibRegister aktualisieren:

    Code
    `func Hunting()
        GUICtrlSetState($idStop, $GUI_HIDE)
        GUICtrlSetState($lblStop, $GUI_HIDE)
        GUICtrlSetState($idRun, $GUI_SHOW)
        GUICtrlSetState($lblRun, $GUI_SHOW)
        AdlibUnRegister('Hunting')
        ConsoleWrite('SC: ' & @MIN & ':' & @SEC & @CRLF)
    
        ; Erstellt Screenshot - kompletter Bildschirm
        $hBmp = _ScreenCapture_Capture("")
    
        ; Speichert das Bild
        _ScreenCapture_SaveImage(@MyDocumentsDir & "\screenshot.jpg", $hBmp)
        GUICtrlSetData($lblRun, "Programm gestartet - Intervall: " & GUICtrlRead($idInput) & " Minute/n")
        AdlibRegister('Hunting', GUICtrlRead($idInput) * 60 * 1000)
    EndFunc   ;==>Hunting
    Alles anzeigen

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™