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

Beiträge von argumentum

  • das problem mit der maus und der minimierung

    • argumentum
    • 2. Juni 2025 um 16:06

    Auto-magic

    Code
    #include <Timers.au3>
    
    HotKeySet("{ESC}", _HotKeySetExit)
    Func _HotKeySetExit() ; just in case
    	Exit
    EndFunc   ;==>_HotKeySetExit
    
    Global $g_iIdle = 60 * 1000 ; a minute
    main()
    Func main()
    	If $CmdLine[0] Then
    		If Int($CmdLine[1]) > 59 Then
    			$g_iIdle = Int($CmdLine[1]) * 1000 ; cmdline in seconds
    		EndIf
    	EndIf
    ;~ 	$g_iIdle = 1000 ; testing
    	AdlibRegister(OhMyMouse, 5000)
    	While Sleep(50)
    	WEnd
    EndFunc   ;==>main
    
    Func OhMyMouse()
    	If _Timer_GetIdleTime() < $g_iIdle Then Return
    	MouseMove(Random(0, @DesktopWidth, 1), Random(0, @DesktopHeight, 1))
    EndFunc   ;==>OhMyMouse
    Alles anzeigen

    lol, ich habe den Beitrag oben nicht gelesen ( AspirinJunkie 's ) :saint:

  • das problem mit der maus und der minimierung

    • argumentum
    • 31. Mai 2025 um 22:09
    AutoIt
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    
    
    ;~ HotKeySet("{ESC}", _HotKeySetExit)
    ;~ Func _HotKeySetExit() ; just in case
    ;~ 	Exit
    ;~ EndFunc   ;==>_HotKeySetExit
    
    
    Global $Window = GUICreate("mouse - mouseing it!", 305, 185, -1, -1)
    Global $File = GUICtrlCreateMenu("File")
    Global $StartFile = GUICtrlCreateMenuItem("Start Mouse", $File)
    Global $StopFile = GUICtrlCreateMenuItem("Stop Mouse", $File)
    Global $ExitFile = GUICtrlCreateMenuItem("Exit Mouse", $File)
    Global $Help = GUICtrlCreateMenu("Help")
    Global $Info = GUICtrlCreateMenuItem("Infobox", $Help)
    Global $About = GUICtrlCreateMenuItem("About", $Help)
    Global $Mousefield = GUICtrlCreateGroup("Mousefield", 128, 16, 161, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    Global $StartCheck = GUICtrlCreateCheckbox("Start Mouse", 24, 32, 81, 17)
    Global $Stop = GUICtrlCreateButton("Reset/Stop", 16, 80, 95, 25)
    Global $ExitBut = GUICtrlCreateButton("EXIT", 16, 112, 95, 25)
    GUISetState(@SW_SHOW)
    
    Global $dancing = False
    Global $step = 0
    Global $positions[4][2] = [[15, 15], [118, 15], [118, 90], [15, 90]] ; Relative Positionen in der GUI
    Global $lastMoveTime = TimerInit()
    
    While 1
    	$nMsg = GUIGetMsg()
    
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE, $ExitBut, $ExitFile
    			Exit
    
    		Case $StartCheck
    			If GUICtrlRead($StartCheck) = 1 Then
    				$dancing = True
    				$step = 0 ; Reset dance
    				$lastMoveTime = TimerInit()
    			EndIf
    
    		Case $StartFile
    			GUICtrlSetState($StartCheck, $GUI_CHECKED)
    			If GUICtrlRead($StartCheck) = 1 Then
    				$dancing = True
    				$step = 0 ; Reset dance
    				$lastMoveTime = TimerInit()
    			EndIf
    
    		Case $Stop, $StopFile
    			$dancing = False
    			GUICtrlSetState($StartCheck, $GUI_UNCHECKED)
    
    
    	EndSwitch
    	dancing($dancing)
    	; Aktiviere die tanzende Maus nur wenn Checkbox gecheckt ist
    WEnd
    
    Func dancing($dancing)
    	Local Static $windowPos
    	If $dancing Then
    		If TimerDiff($lastMoveTime) > 5000 Then
    			; Hole Koordianten vom der linken oberen Ecke des GUI-Fensters
    			Local $iState = WinGetState($Window)
    			If @error Then Return
    			If Not BitAND($iState, $WIN_STATE_MINIMIZED) Then
    				$windowPos = WinGetPos($Window)
    				If @error Then Return
    			EndIf
    			Local $windowX = $windowPos[0]
    			Local $windowY = $windowPos[1]
    
    			; Definiere die Bewegungsposition innerhalb des Fensters(Mousefield)
    			Local $fieldX = 140  ; X position relativ zum GUI-Fenster
    			Local $fieldY = 65    ; Y position relativ zum GUI-Fenster
    			Local $fieldWidth = 161  ; Breite von Mousefield
    			Local $fieldHeight = 121  ; Hoehe of Mousefield
    
    			; Berechne nun die neue Positionen
    			Local $xPos = $positions[$step][0] + $fieldX + $windowX
    			Local $yPos = $positions[$step][1] + $fieldY + $windowY
    
    			; Stelle sicher das die relative Abhaengigkeit gewaehrleistet bleibt.
    			If $xPos < $windowX + $fieldX Then $xPos = $windowX + $fieldX
    			If $yPos < $windowY + $fieldY Then $yPos = $windowY + $fieldY
    			If $xPos > $windowX + $fieldX + $fieldWidth Then $xPos = $windowX + $fieldX + $fieldWidth
    			If $yPos > $windowY + $fieldY + $fieldHeight Then $yPos = $windowY + $fieldY + $fieldHeight
    
    			; Setze den Mauszeiger an die berechnete Stelle
    			MouseMove($xPos, $yPos, 10)
    
    			$step += 1
    			If $step >= UBound($positions) Then $step = 0
    			$lastMoveTime = TimerInit()
    		EndIf
    	EndIf
    EndFunc   ;==>dancing
    Alles anzeigen
  • das problem mit der maus und der minimierung

    • argumentum
    • 31. Mai 2025 um 20:34

    >So funktioniert es: Wenn das Kontrollkästchen aktiviert ist
    Du möchtest die Maus bewegen und auf der GUI klicken? Welchen praktischen Nutzen hat dein Code?

  • Datenbank : Teil 1 erstellen einer DB

    • argumentum
    • 28. April 2025 um 04:27

    hmm, 2038 ist das Ende einer Epoche. Die "unixepoch()". Verwenden Sie also YYYYMMDDHHNNSS. Es sollte es zukunftssicher machen. Auch leichter zu lesen. Meine 2 Cent Weisheit

  • Datenbank : Teil 1 erstellen einer DB

    • argumentum
    • 27. April 2025 um 01:11

    Func _SQLite_ExecCatchErr($hDB, $sSql, $bTransaction = True, $bFatal = False)
    wofür ist dieser Parameter ? ( $bTransaction )

  • To-Do-Liste

    • argumentum
    • 1. April 2025 um 22:48

    Suchen Sie nach "simple http deamon" bei "https://www.autoitscript.com/forum/profile/…_core_pfield_11" und es gibt weitere Beispiele. Nicht auf Deutsch, aber der Code ist derselbe :)

    TCP ist für HTML und kann Ihrem Programm als API zum Abrufen von Daten dienen.
    Nur eine Idee

  • Was ist eure Präferenz: "light mode" oder "dark mode" bei Software (egal ob Web oder Desktop)?

    • argumentum
    • 18. März 2025 um 02:37
    Zitat von UEZ

    Das Problem beim Dark Mode ist nur, dass der Kontrast fehlt und man die Ränder der Fenster nicht auf anhieb sieht, ...

    Win 11 - My own border color ( Help area )
    These border colors are set by the app every time the window is created. The example for this is already posted. Since this is more of an app than an example,…
    www.autoitscript.com

    Deshalb habe ich das codiert

  • Was ist eure Präferenz: "light mode" oder "dark mode" bei Software (egal ob Web oder Desktop)?

    • argumentum
    • 17. März 2025 um 20:10

    Wenn unter der Sonne, dann heller Modus, sonst dunkler Modus

  • Ordnernamen in Variable schicken

    • argumentum
    • 19. Februar 2025 um 15:48
    Zitat

    #include <MsgBoxConstants.au3>

    Example()
    Func Example()
    ; Create a constant variable in Local scope of the message to display in FileSelectFolder.
    Local Const $sMessage = "Select a folder"

    ; Display an open dialog to select a file.
    Local $sFileSelectFolder = FileSelectFolder($sMessage, "")
    If @error Then
    ; Display the error message.
    ;~ MsgBox($MB_SYSTEMMODAL, "", "No folder was selected.")
    ConsoleWrite("No folder was selected." & @CRLF)
    Else
    ; Display the selected folder.
    ;~ MsgBox($MB_SYSTEMMODAL, "", "You chose the following folder:" & @CRLF & $sFileSelectFolder)
    ConsoleWrite("You chose the following folder: >" & $sFileSelectFolder & "<" & @CRLF)
    EndIf
    Local $sParentFolder = StringLeft($sFileSelectFolder, StringInStr($sFileSelectFolder, "\", 0, -1) - 1)
    ConsoleWrite("+ $sParentFolder >" & $sParentFolder & "<" & @CRLF)
    Local $sChildFolder = StringTrimLeft($sFileSelectFolder, StringInStr($sFileSelectFolder, "\", 0, -1))
    ConsoleWrite("+ $sChildFolder >" & $sChildFolder & "<" & @CRLF)
    EndFunc ;==>Example

    Alles anzeigen

    Ich glaube, der OP versucht, den übergeordneten Ordner vom untergeordneten Ordner (dem ausgewählten) zu trennen.
    Wenn ich mich nicht irre :/

  • Ordnernamen in Variable schicken

    • argumentum
    • 19. Februar 2025 um 15:31
    Zitat von Moombas

    Ich denke niemand ist Perfekt und es wird immer Nachbesserungsbedarf geben, ...

    Meine Großeltern sagten mir, dass ich perfekt sei. Und ich stimme zu. Perfekte Menschen programmieren nicht. Sie sind perfekt, so wie sie sind. :P

  • Altes Autoit script breaking changes

    • argumentum
    • 11. Februar 2025 um 18:48
    Zitat von AspirinJunkie

    Naja es gibt das Konzept der Workspaces in VSC.

    ok, das wusste ich nicht.

    Zitat von AspirinJunkie

    Die Frage wäre auch was mit "Skript" gemeint ist. Ein AutoIt-Skript oder ein Skript in VSC?

    Zu wissen, dass ich alles angeben kann, was für das Projekt erforderlich ist, reicht aus. Danke für die info

  • Altes Autoit script breaking changes

    • argumentum
    • 11. Februar 2025 um 16:12
    Zitat von AspirinJunkie

    Im VSC in den Einstellungen zur AutoIt-Erweiterung die Pfade zur aktuellsten AutoIt-Version hin eintragen.

    ..Gibt es eine Möglichkeit, dies über ein Skript zu automatisieren, das die Version auswählt, ohne etwas eingeben zu müssen? ( dies ist eine Anfrage für ein solches Skript ? )

  • Altes Autoit script breaking changes

    • argumentum
    • 11. Februar 2025 um 04:35
    Zitat von Peter S. Taler

    Immer wenn ich Kleinigkeiten an dem Code ändern muss, deinstaliere ich meine aktuelle...

    Ich verwende VMs und speichere Projekte darin. Wenn ich etwas ändern oder reparieren muss, lade ich einfach die VM und bin wieder im Jahr 2010 8)

  • [Erledigt] SciTE versus VSCode <==> potenzielle Veränderungen

    • argumentum
    • 9. Februar 2025 um 16:02

    Ich habe darum gebeten, auch VSCodium zu unterstützen (direkt vom Installationsprogramm aus), da dies im Grunde dasselbe ist.

  • Installer für auto execute a3x-Files

    • argumentum
    • 26. Januar 2025 um 06:15
    AutoIt
    Func uniqueNow($iLength = 16) ; should be unique enough for a temp folder
    	Return StringRight(TimerInit(), $iLength)
    EndFunc
    ConsoleWrite(uniqueNow() & @CRLF)

    An dem, was Sie getan haben, ist nichts auszusetzen.
    Das hier ist einfacher. Es ist nur für einen temporären Ordner, der in Kürze gelöscht wird. Andernfalls verwenden Sie den UTC-Zeitstempel, der ebenfalls eindeutig ist.
    Meine 2 Cent Weisheit

  • Anti "false-positive" Strategie mit PureBasic

    • argumentum
    • 23. Januar 2025 um 17:31

    Sie können diese a3x-Dateien auf ungewöhnliche Weise verwenden, z. B. indem Sie einen Include erstellen und ihn als a3x referenzieren.

    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile_type=a3x
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include-once
    
    RunAs64bit()
    
    Func RunAs64bit($iNoErrorStdOut = 1)
        If @AutoItExe = @ScriptFullPath Or @AutoItX64 Then Return
        If Not FileGetSize(StringTrimRight(@AutoItExe, 4) & "_x64.exe") Then Return SetError(1, 0, 1) ; one can never know as a coder
        ShellExecute(StringTrimRight(@AutoItExe, 4) & "_x64.exe", ($iNoErrorStdOut ? StringReplace($CmdLineRaw, "/ErrorStdOut ", "") : $CmdLineRaw))
        Exit 101 ; remove /ErrorStdOut because you are not in SciTE anymore, ..or not.
    EndFunc   ;==>RunAs64bit
    Alles anzeigen

    und die Beispieldatei:

    AutoIt
    #include <RunAs64.a3x>
    MsgBox(0, @ScriptName, "@AutoItX64 = " & @AutoItX64 & @LF & $CmdLineRaw, 30)

    Warum machen Sie das so? Keine Ahnung, aber es ist möglich, wenn Sie einen Grund haben, den Code nicht freizugeben.

    ( Ich glaube, ich benutze die Site falsch, aber ich weiß es nicht besser )

  • Anti "false-positive" Strategie mit PureBasic

    • argumentum
    • 19. Januar 2025 um 19:15

    Ich habe den Beitrag im EN-Forum verfasst, weil ich das Passwort für dieses vergessen hatte, aber es war ganz einfach, es wiederherzustellen.
    Jedenfalls habe ich dort Folgendes geschrieben:
    Als ich Ihr Skript (a3xInstaller.au3) las, dachte ich, da Sie nur an der x64-Version interessiert sind,
    möchten Sie es in "C:\Program Files\AutoIt3\" statt in "C:\Program Files (x86)\AutoIt3\" installieren.
    Auf diese Weise stören Sie die Standardverteilung nicht.
    Da a3xInstaller.exe eine ausführbare Datei ist, können Sie außerdem FileInstall() statt im @temp zwischen den zu installierenden Dateien hin- und herschicken.

    Ich hoffe, Ihnen gefällt die Idee :)

    ( Übersetzt mit Google Translate. Hoffnung ist lesbar )

  • kompilierte Datei unterschiedlich groß

    • argumentum
    • 14. August 2023 um 06:25
    Zitat von DerSchatten

    Sagt mal, kann mir jemand erklären warum ein kompiliertes Script mit einer älternen Aut2Exe kleiner wird als mit einer aktuellen?

    Ja, ist größer, weil es mehr Fähigkeiten hat, was mehr Code bedeutet, was eine größere ausführbare Datei bedeutet.

    Macht Sinn ?

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • argumentum
    • 26. Juli 2023 um 15:50

    Beim Testen der richtigen Größe der GUI sahen die nicht standardmäßigen Designfarben gut aus, in diesem Fall jedoch nicht. Die Größe an sich ist überall gut :)

    PS: Ich hätte diese Bilder veröffentlichen sollen, um dem, was ich sagen möchte, einen Kontext zu geben

  • Toolbar Desktop v0.83 build 2025-10-08 beta

    • argumentum
    • 25. Juli 2023 um 15:20

    Diese Version funktionierte überall.

    Nun sieht es auf einem meiner PCs so aus ( W11 - 22H2 / 22621.1972 ), In diesem Fall ist die Größe winzig? Sieht auf allen anderen PCs gut aus.

    Die Farben, ... Ich verwende verschiedene Win-Themen und wenn Sie dem Rechnung tragen könnten, wäre ich sicher willkommen :)

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™