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

Beiträge von funkey

  • (Anfänger)Frage zur Funktion "_WinAPI_ShellNotifyIconGetRect"

    • funkey
    • 30. Dezember 2025 um 12:54

    Schau mal, ob diese GUID für dich passt:


    AutoIt
    #include <MsgBoxConstants.au3>
    #include <WinAPIGdi.au3>
    #include <WinAPIShellEx.au3>
    
    Local $GUID_HARDWARE_REMOVAL = "{7820ae78-23e3-4229-82c1-e41cb67d5b9c}"	;explorer.exe
    Global $tGUID = _WinAPI_GUIDFromString($GUID_HARDWARE_REMOVAL)
    Local $tRECT = _WinAPI_ShellNotifyIconGetRect(0, 0, $tGUID)
    
    ConsoleWrite(@error & " - " & Hex(@extended) & @CRLF)
    
    Local $aPos
    If Not @error Then
        $aPos = _WinAPI_GetPosFromRect($tRECT)
        MouseMove($aPos[0] + 12, $aPos[1] + 12)
        MouseClick('left')
    Else
    	MsgBox($MB_ICONERROR, "Kein NotifyIcon", "Icon nicht vorhanden, bzw. nicht gefunden!")
    EndIf
    Alles anzeigen
  • (Anfänger)Frage zur Funktion "_WinAPI_ShellNotifyIconGetRect"

    • funkey
    • 29. Dezember 2025 um 07:00

    Vielleicht hilft das

    AutoIt
    Run("control.exe hotplug.dll")
  • Hallo und guten Abend

    • funkey
    • 11. Dezember 2025 um 07:39

    Herzlich willkommen!

  • AutoIt 3.3.18.0 - bereits getestet?

    • funkey
    • 15. September 2025 um 10:48

    Ich denke, dass die Änderung den DllCall mit Dll-Namen betrifft. Dann wird vielleicht intern das DllClose nicht mehr aufgerufen, und überprüft ob die Dll bereits geöffnet ist....

  • Vorstellung

    • funkey
    • 15. Oktober 2024 um 14:02

    Herzlich willkommen!

  • sortieren nach IP

    • funkey
    • 26. Juni 2024 um 20:49

    Hier noch meine 2Cents :)

    AutoIt
    #include <Array.au3>
    
    ; Ausgangsarray:
    Local $aListViewData[10][4] = [ _
        ["PC-001", "00:1A:2B:3C:4D:5E", "192.168.23.145", "Büro 101"], _
        ["PC-002", "00:2B:3C:4D:5E:6F", "10.0.15.87", "Empfang"], _
        ["PC-003", "00:3C:4D:5E:6F:7G", "172.16.78.209", "Besprechungsraum"], _
        ["PC-004", "00:4D:5E:6F:7G:8H", "192.168.1.3", "Buchhaltung"], _
        ["PC-005", "00:5E:6F:7G:8H:9I", "10.10.55.201", "Marketing"], _
        ["PC-006", "00:6F:7G:8H:9I:0J", "172.20.100.50", "Entwicklung 1"], _
        ["PC-007", "00:7G:8H:9I:0J:1K", "192.168.0.11", "Entwicklung 2"], _
        ["PC-008", "00:8H:9I:0J:1K:2L", "10.1.1.254", "Personalabteilung"], _
        ["PC-009", "00:9I:0J:1K:2L:3M", "172.31.255.1", "Kantine"], _
        ["PC-010", "00:0J:1K:2L:3M:4N", "192.168.100.100", "Serverraum"] _
    ]
    
    ; Spalte hinzufügen
    Local $iRows = UBound($aListViewData), $iCols = UBound($aListViewData, 2)
    Redim $aListViewData[$iRows][$iCols + 1]
    
    ; Spalte mit einem sortierbaren Wert (hier mit Nullen aufgefüllte IP-Adresse) füllen:
    For $i = 0 To $iRows - 1
    	$aListViewData[$i][$iCols] = _htonl(_inet_addr($aListViewData[$i][2]))
    Next
    
    ; nach dieser Spalte sortieren
    _ArraySort($aListViewData, 0, 0, 0, $iCols)
    
    ; letzte Spalte wieder löschen:
    Redim $aListViewData[$iRows][$iCols]
    
    ; Ergebnis ausgeben
    _ArrayDisplay($aListViewData)
    
    Func _inet_addr($sIP)
    	Local $aRet = DllCall("ws2_32.dll", "ULONG", "inet_addr", "str", $sIP)
    	Return $aRet[0]
    EndFunc   ;==>_inet_addr
    
    
    ;host byte order to network byte order (long)
    Func _htonl($value)
    	Local $aRet = DllCall("ws2_32.dll", "ULONG", "htonl", "ULONG", $value)
    	Return $aRet[0]
    EndFunc   ;==>_htonl
    Alles anzeigen
  • Ablaufdatum für kompilierte exe

    • funkey
    • 21. Juni 2024 um 13:07

    Ich hab das auch mal gemacht. Meine Lösung war, dass sich die Datei beim Ausführen selbst gelöscht hat, wenn das Datum überschritten war.

    :)

  • Guielemente im Array

    • funkey
    • 28. Mai 2024 um 21:38

    Bei mir kommt keine Meldung. Prinzipiell läuft das Skript.

    Hab nur gesehen, dass sich manche Controls überschneiden und die Group muss AUF und ZU gemacht werden. Würde da wohl eigene Zeilen im Array anlegen, oder bei den Radios/Checkboxen eine Option mitgeben.


    Edit: Das Problem ist wahrscheinlich, dass die die Variable $hRadioGroup nicht definierst/initialisierst. Die Funktion _CreateGuiElement() wird aber öfter aufgerufen und $hRadioGroup wird wieder überschrieben.

  • Guielemente im Array

    • funkey
    • 28. Mai 2024 um 17:07

    Nichts zu danken. Helfe gerne wenn ich Zeit haben.

  • Guielemente im Array

    • funkey
    • 28. Mai 2024 um 16:56

    Du hast den Text

    $arElements[$i][8] --> "Öffnet die Settings" an den Style von GUICtrlCreateIcon gehängt. Deswegen funktionierte das Control nicht mehr richtig.

    Außerdem dann eben $arElements[$i][9] anstelle von $arElements[$i][8] bei GUICtrlSetTip

  • Guielemente im Array

    • funkey
    • 28. Mai 2024 um 15:33

    Du hast dich da verzählt.


    Hier mal so wie ich es machen würde. Hab's umgebaut auf Funktionen und Event-Mode

    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    
    Opt("GUIOnEventMode", 1)
    
    Global $arElements = [ _
        [0, "Button1", "Button", "Save List", 10, 340, 100, 30, "Liste speichern", "", ""], _
        [0, "Button2", "Button", "Host1", 210, 30, 70, 30, "nd", "", ""], _
        [0, "Button3", "Button", "Host2", 210, 70, 70, 30, "nd", "", ""], _
        [0, "Button4", "Button", "Workgroup", 210, 110, 70, 30, "nd", "", ""], _
        [0, "Button5", "Button", "Fritz", 280, 30, 70, 30, "nd", "", ""], _
        [0, "Button6", "Button", "IT-Service", 280, 70, 70, 30, "nd", "", ""], _
        [0, "Button7", "Button", "Lesesaal", 280, 110, 70, 30, "nd", "", ""], _
        [0, "Button14", "Button", "Save and choose file", 190, 340, 160, 30, "sdsds", "", ""], _
        [0, "Checkbox1", "Checkbox", "AdminUser", 10, 390, 90, 20, "", $GUI_CHECKED, ">>>"], _
        [0, "Label1", "Label", "Freie Listen", 210, 10, 100, 20, "", "", "9,800,800"], _
        [0, "Icon1", "Icon", "shell32.dll", 168, 320, 390, 50, 50, "Öffnet die Settings", "", ""] _
    ]
    
    Global $hParent = GUICreate("TESTGUI", 500, 500)
    _CreateControlFromArray($arElements)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUISetState(@SW_SHOW, $hParent)
    
    
    While 1
    	Sleep(10)
    WEnd
    
    
    Func _HandleCtrlEvent()
    	Local $iIndex = _ArraySearch($arElements, @GUI_CtrlId, 0, 0, 0, 0, 1, 0)
    
    	Switch $arElements[$iIndex][1]
            Case "Button1"
                MsgBox($MB_OK, "Button Clicked", "Save List") ; Meldung anzeigen, wenn Button1 geklickt wird
            Case "Button2"
                MsgBox($MB_OK, "Button Clicked", "Host1") ; Meldung anzeigen, wenn Button2 geklickt wird
            Case "Button3"
                MsgBox($MB_OK, "Button Clicked", "Host2") ; Meldung anzeigen, wenn Button3 geklickt wird
            Case "Button14"
                MsgBox($MB_OK, "Button Clicked", "Save and choose file") ; Meldung anzeigen, wenn Button14 geklickt wirdEndFunc
    	EndSwitch
    EndFunc
    
    
    Func _Exit()
    	Exit
    EndFunc
    
    
    Func _CreateControlFromArray(ByRef $aCtrlInfo)
    	For $i = 0 To UBound($aCtrlInfo) -1
    		Switch $aCtrlInfo[$i][2]
    			Case "Button"
    				$aCtrlInfo[$i][0] = GUICtrlCreateButton($aCtrlInfo[$i][3], $aCtrlInfo[$i][4], $aCtrlInfo[$i][5], $aCtrlInfo[$i][6], $aCtrlInfo[$i][7])
    				GUICtrlSetTip(-1, $aCtrlInfo[$i][8])
    			Case "Checkbox"
    				$aCtrlInfo[$i][0] = GUICtrlCreateCheckbox($aCtrlInfo[$i][3], $aCtrlInfo[$i][4], $aCtrlInfo[$i][5], $aCtrlInfo[$i][6])
    				GUICtrlSetState(-1, $aCtrlInfo[$i][9])
    			Case "Label"
    				$aCtrlInfo[$i][0] = GUICtrlCreateLabel($aCtrlInfo[$i][3], $aCtrlInfo[$i][4], $aCtrlInfo[$i][5], $aCtrlInfo[$i][6])
    				If $aCtrlInfo[$i][10] <> "" Then
    					Local $fontParams = StringSplit($aCtrlInfo[$i][10], ",")
    					GUICtrlSetFont(-1, $fontParams[1], $fontParams[2], $fontParams[3])
    				EndIf
    			Case "Icon"
    				$aCtrlInfo[$i][0] = GUICtrlCreateIcon($aCtrlInfo[$i][3], $aCtrlInfo[$i][4], $aCtrlInfo[$i][5], $aCtrlInfo[$i][6], $aCtrlInfo[$i][7], $aCtrlInfo[$i][8])
    				GUICtrlSetTip(-1, $aCtrlInfo[$i][9])
    		EndSwitch
    		GUICtrlSetOnEvent(-1, "_HandleCtrlEvent")
    	Next
    EndFunc
    Alles anzeigen

    Schöne Grüße

    funkey

  • Frage zu DLLCall

    • funkey
    • 10. April 2024 um 08:04

    Habe mir da zu wenig Zeit genommen und Verwirrung gestiftet mit der Übergabe von UINT anstelle vom Pointer.

    Es funktioniert, aber es ist nicht richtig so. Außerdem wird ein 'True' bei einem Pointer leider auf 0 und nicht auf 1 gecastet, deshalb habe ich den Integer-Typen verwendet.

    Hier nochmal ein Code zum Testen:

    Code
    Global Const $SPI_SETMOUSESONAR = 0x101D
    Global $iEnableSonar = 1;
    Global $aRet
    
    $aRet = DllCall("user32.dll", "BOOL", "SystemParametersInfoA", "UINT", $SPI_SETMOUSESONAR, "UINT", 0, "PTR", True, "UINT", 0)
    ConsoleWrite($aRet[3] & @CRLF)	;	<-- 0
    $aRet = DllCall("user32.dll", "BOOL", "SystemParametersInfoA", "UINT", $SPI_SETMOUSESONAR, "UINT", 0, "UINT", True, "UINT", 0)
    ConsoleWrite($aRet[3] & @CRLF)	;	<-- 1
    $aRet = DllCall("user32.dll", "BOOL", "SystemParametersInfoA", "UINT", $SPI_SETMOUSESONAR, "UINT", 0, "PTR", $iEnableSonar, "UINT", 0)
    ConsoleWrite($aRet[3] & @CRLF)	; <-- 1
    
    Sleep(5000)
    $iEnableSonar = 0;
    $aRet = DllCall("user32.dll", "BOOL", "SystemParametersInfoA", "UINT", $SPI_SETMOUSESONAR, "UINT", 0, "PTR", $iEnableSonar, "UINT", 0)
    Alles anzeigen
  • Frage zu DLLCall

    • funkey
    • 5. April 2024 um 14:33

    Global Const $SPI_SETMOUSESONAR = 0x101D
    Global $bEnableSonar = True;
    Local $aRet = DllCall("user32.dll", "BOOL", "SystemParametersInfoA", "UINT", $SPI_SETMOUSESONAR, "UINT", 0, "UINT", $bEnableSonar, "UINT", 0)

  • Leerzeichen vor dem GUI-Titel

    • funkey
    • 21. März 2024 um 07:16

    Ich verwende immer mal wieder das Whitespace welches man mit ALT+255 erzeugen kann. Hat noch immer funktioniert.

  • Liste von allen Junctions in Verzeichnis und Unterverzeichnis auflisten

    • funkey
    • 23. Februar 2024 um 07:05

    Vielleicht hilft das:

    Determine if a Directory is a Junction
    This is almost too simple to post, but someone mentioned it in the beta thread. On Vista and 7 there are multiple junction points that point recursively within…
    www.autoitscript.com
  • ASCII-Art

    • funkey
    • 23. Januar 2024 um 07:07

    Wir durften in der Schule immer die letzten 20Minuten Shogun spielen.. Shogun (Computerspiel) – Wikipedia

    Das war mega spannend!

  • revert im laufenden script.

    • funkey
    • 17. Januar 2024 um 07:05

    Bei mir läuft ein Programm xy.exe. Dieses prüft alle 2 Sekunden ob es eine xy.exe.update.exe gibt. falls ja, dann wird xy.exe in xy.exe.old.exe kopiert, xy.exe beendet, xy.exe.update.exe in xy.exe umbenannt und gestartet. Das läuft bei mir über eine aufgerufene Batch-Datei und läuft problemlos, auch wenn es kompliziert klingt.

  • StringReplace

    • funkey
    • 15. Januar 2024 um 18:16
    Code
    Local $sString = "123456789012345678901234567890123456789012345678901234567890"
    Local $sStringNew = $sString
    Local $aArr_1[4] = ["1", "a", "j", "t"] ; Ersetzungszeichen für "1"
    Local $cChange = "1"
    Local $cRdn
    Local $iStrPos = 1
    Local $iFound
    
    Do
    	$iStrPos = StringInStr($sStringNew, $cChange, 0, 1, $iStrPos, StringLen($sStringNew) - $iStrPos + 1)
    	$cRdn = $aArr_1[Random(0, UBound($aArr_1) - 1, 1)]
    	$iFound = $iStrPos
    
    	If $cRdn <> $cChange And $iFound <> 0 Then
    		$sStringNew = StringReplace($sStringNew, $iStrPos, $cRdn, 1)
    	EndIf
    	$iStrPos += 1
    Until $iFound = 0
    
    ConsoleWrite("OLD: " & $sString & @CRLF & "NEW: " & $sStringNew & @CRLF)
    Alles anzeigen
  • Erweiterung für AutoIT kann nicht mehr geladen werden

    • funkey
    • 8. Januar 2024 um 13:22

    Sollte eventuell so heißen:


    #include "ActiveDirektory\AD.au3"

  • tabellarische Reporte oder Berichte aus Autoit

    • funkey
    • 13. Juni 2023 um 03:13
    Create a PDF with own style
    Good morning I was looking around the forum if there were some customizable solutions about creating a PDF from "0" to something like a report... What I'd like…
    www.autoitscript.com

    Hatte da mal was.

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™