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

Beiträge von Velted

  • Dateipfad der im Windowsexplorer markierten Datei auslesen

    • Velted
    • 4. Februar 2026 um 16:46

    Moin Lottich,

    wenn ich Deine Anforderungen lese und das Skript von AspirinJunkie immer in ($mExplWin["selected"])[0] den von Dir gewünschten Pfad liefert, heißt das für mich, Du suchst den Pfad des von Dir in einem aktuell aktiven Explorerfenster auf der rechten Seite markierten /selektierten Eintrags.

    Wenn das so ist, sollte die folgende Methode 'geradeaus' zum Ziel führen:

    AutoIt
    HotKeySet('^!g', "GetFolder")
    HotKeySet('{Esc}', "Cancel")
    
    ; Halte das Skript am Laufen, bis der Benutzer es beendet
    While 1
    	Sleep(100)    ; Warte in einer Schleife
    WEnd
    
    Func Cancel()
    	Exit
    EndFunc
    
    Func GetFolder()
    	MsgBox(0, "Aktives Verzeichnis", GetSelectedItemFromActiveExplorer())
    EndFunc
    
    ;=======================================================================================================================
    ; Aktives Shellfensterobjekt bestimmen und ggf. den Pfad des (ersten) selektierten Elements zurückgeben
    ; InternetExplorer->Document = ShellFolderView Objekt
    ;=======================================================================================================================
    Func GetSelectedItemFromActiveExplorer()
    	Static $CLSID_ShellFolderView = "{62112AA1-EBE4-11CF-A5FB-0020AFE7292D}"
    	Local $oShFolderView = 0
    	Local $hAct = DllCall("user32.dll", "hwnd", "GetForegroundWindow")[0] ; _WinAPI_GetForegroundWindow()
    	If $hAct <> 0 Then
    		For $oShellWindow In ObjCreate("Shell.Application").Windows()
    			If $oShellWindow.hWnd = $hAct Then
    				$oShFolderView = $oShellWindow.Document
    				IF IsObj($oShFolderView) And (ObjName($oShFolderView, 6) = $CLSID_ShellFolderView) Then
    					If $oShFolderView.SelectedItems.Count > 0 Then
    						Return $oShFolderView.SelectedItems.Item(0).Path
    					EndIf
    				EndIf
    			EndIf
    		Next
    	EndIf
    EndFunc   ;==>GetSelectedItemFromActiveExplorer
    Alles anzeigen
  • Dateipfad der im Windowsexplorer markierten Datei auslesen

    • Velted
    • 2. Februar 2026 um 10:32

    Moin Lottich, wie wäre es mit dieser Version?

  • Weihnachtsgrüße

    • Velted
    • 23. Dezember 2025 um 18:08

    Friede, Freude, Eierkuchen!   (... und was immer Ihr Euch sonst noch wünscht!)

  • Anfängerfrage zum Ausführen einer Datei

    • Velted
    • 12. Dezember 2025 um 23:21

    Moin,

    ist ja nett, wie der eindeutige Verstoß gegen die Forenregeln mit einem Lächeln kommentiert oder total ignoriert wird. Wäre es nicht ehrlicher, den von mir zitierten Passus komplett zu streichen?

  • Anfängerfrage zum Ausführen einer Datei

    • Velted
    • 12. Dezember 2025 um 15:59

    Moin,

    zu Deiner Frage nach den 'Bots' im Vorstellungsthread:

    Zitat von Forenregeln

    Folgende Inhalte sind absolut nicht erwünscht. Das Team behält es sich ausdrücklich vor, zur Durchsetzung der Regeln je nach Schweregrad Benutzer, Posts und Threads zu verwarnen, zu sperren oder zu löschen.


    Programme, die einem Spieler bei jeglicher Art von Computerspiel (auch Einzelspieler) einen Vorteil verschaffen ("Bots") Tools, um Nachrichten unerwünscht oft zu versenden (Spamming-Tools) Programme, die anderen, auch Freunden, einen Schreck einjagen sollen oder sich sonst über andere Nutzer lustig machen ("Spaßviren") Automatisierung von Webseiten oder Tools, die das in ihren AGBs verbieten

  • ColorChangeIconButton - BugWorkaround?

    • Velted
    • 6. Dezember 2025 um 22:46
    AutoIt
    		If @OSVersion = "WIN_11" Then
    			$hRgn = _WinAPI_CreateRoundRectRgn(0, 0, $aSettings[0], $aSettings[1], 9, 9)
    		Else
    			$hRgn = _WinAPI_CreateRectRgn(0, 0, $aSettings[0], $aSettings[1])
    		EndIf

    Moin, was zeigt bei Dir MsgBox(0, "OSVersion", @OSVersion) an?

  • ColorChangeIconButton - BugWorkaround?

    • Velted
    • 6. Dezember 2025 um 12:19

    Moin UPIA,

    vielleicht gefällt Dir diese Version von Func WM_NOTIFY() besser:

    AutoIt
    ; ----------------------------------------------------------------------------------------------------------------------
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
        #forceref $iMsg, $wParam, $lParam
    	Local $tNMCD = DllStructCreate($tagNMCUSTOMDRAW, $lParam)
    	Local $idFrom = $tNMCD.IDFrom, $iCode = $tNMCD.Code
    	Local $aSettings = _GuiIconButtonsSettings($idFrom)
    	If IsArray($aSettings) And ($iCode = $NM_CUSTOMDRAW) Then
    		Local $hBN = $tNMCD.hWndFrom
    		Local $iDS = $tNMCD.dwDrawStage
    		Local $hDC = $tNMCD.hdc
    		Local $tRC = DllStructCreate($tagRECT, DllStructGetPtr($tNMCD, 6))
    		Local $iST = $tNMCD.uItemState
    		If Not $iST = $CDDS_PREPAINT Then Return $GUI_RUNDEFMSG
    		Local $iColor = 5
    		Select
    			Case BitAnd($iST, $CDIS_SELECTED)
    				$iColor = 7
    			Case BitAND($iST, $CDIS_HOT)
    				$iColor = 6
    		EndSelect
    		_WinAPI_DrawThemeParentBackground($hBN, $hDC)
    		Local $hBR = _WinAPI_CreateSolidBrush($aSettings[$iColor])
    		Local $hRgn = 0
    		If @OSVersion = "WIN_11" Then
    			$hRgn = _WinAPI_CreateRoundRectRgn(0, 0, $aSettings[0], $aSettings[1], 9, 9)
    		Else
    			$hRgn = _WinAPI_CreateRectRgn(0, 0, $aSettings[0], $aSettings[1])
    		EndIf
    		_WinAPI_FillRgn($hDC, $hRgn, $hBR)
    		_WinAPI_DeleteObject($hBR)
    		Local $hIcon = $aSettings[2]
    		Local $iW = $aSettings[3]
    		Local $iH = $aSettings[4]
    		Local $iX = Round(($aSettings[0] - $IW) / 2)
    		Local $iY = Round(($aSettings[1] - $IH) / 2)
    		_WinAPI_DrawIconEX($hDC, $iX, $iY, $hIcon, $iW, $iH)
    		If BitAND($iST, $CDIS_FOCUS) Or BitAnd($iST, $CDIS_HOT) Then
    			$hBR = _WinAPI_GetSysColorBrush($COLOR_HIGHLIGHT)
    			_WinAPI_FrameRgn($hDC, $hRgn, $hBR, 1, 1)
    		EndIf
    		_WinAPI_DeleteObject($hRgn)
    		Return $CDRF_SKIPDEFAULT
    	EndIf
    	Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen
  • ColorChangeIconButton - BugWorkaround?

    • Velted
    • 5. Dezember 2025 um 23:15

    Moin UPIA,

    der 'echte' Button liefert bei NM_CUSTOMDRAW den 'Hover' Status automatisch.

    Zitat von UPIA

    "Das Zeichnen des Buttons könnte man noch verfeinern bzw. an Win 11 anpassen"

    Die Styles bringen Dir hier nichts, weil der Button komplett selbst gezeichnet wird.

  • ColorChangeIconButton - BugWorkaround?

    • Velted
    • 5. Dezember 2025 um 11:48

    Moin,

    hier kommt die Methode "Velted2". Die sollte das Leben deutlich einfacher machen:

    AutoIt
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <StructureConstants.au3>
    #include <ButtonConstants.au3>
    #Include <WindowsConstants.au3>
    #include <WinAPIGdi.au3>
    #include <WinAPIShellEx.au3>
    
    Global Const $tagNMCUSTOMDRAW = "struct;" & $tagNMHDR & ";dword dwDrawStage;handle hdc;" & $tagRECT & _
    								";dword_ptr dwItemSpec;uint uItemState;lparam lItemlParam;endstruct"
    
    Example()
    
    Func Example()
    	Local $sIconFileName = "C:\Windows\System32\imageres.dll"
        Global $hGUI = GUICreate("GuiTest", 300, 200)
    
    	; Create 'icon buttons'
    	Local $hIcon = _WinAPI_ShellExtractIcon($sIconFileName, 4, 48, 48)
    	Local $idBtn1 = _GUICtrlCreateIconButton(20, 20, 50, 50, $hIcon, 48, 48, 0xCCCCCC, 0x00CCCC, 0x00FFFF)
    	GUICtrlSetTip($idBtn1, "IconButton 1", "")
    
    	Local $hIcon = _WinAPI_ShellExtractIcon($sIconFileName, 16, 32, 32)
    	Local $idBtn2 = _GUICtrlCreateIconButton(20, 80, 50, 50, $hIcon, 32, 32, 0x0000CC, 0x00CC00, 0xFF0000)
    	GUICtrlSetTip($idBtn2, "IconButton 2", "")
    
    	Local $hIcon = _WinAPI_ShellExtractIcon($sIconFileName, 82, 16, 16)
    	Local $idBtn3 = _GUICtrlCreateIconButton(20, 140, 50, 50, $hIcon, 16, 16, 0x808080, 0xE0E0E0, 0x404040)
    	GUICtrlSetTip($idBtn3, "IconButton 3", "")
    
        GUISetState(@SW_SHOW, $hGUI)
    
        Local $iPID = 0
    
        ; Loop until the user exits.
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
                Case $idBtn1
                    ; Run Notepad with the window maximized.
                    MsgBox(0, "Button 1", "You clicked me!")
    
            EndSwitch
        WEnd
    
        ; Delete the previous GUI and all controls.
        GUIDelete($hGUI)
    
        ; Close the Notepad process using the PID returned by Run.
        If $iPID Then ProcessClose($iPID)
    EndFunc   ;==>Example
    ; ----------------------------------------------------------------------------------------------------------------------
    Func _GuiCtrlCreateIconButton($iX, $iY, $iW, $iH, $hIcon, $iIconW, $iIconH, $iColorN, $iColorH, $iColorP)
    	Static $bOnmessage = False
    	Local $idBtn = GUICtrlCreateButton("", $ix, $iY, $iw, $iH, $BS_ICON)
    	GUICtrlSendMsg(-1, $BM_SETIMAGE, 1, $hIcon)
    	Local $aSettings = [$iW, $iH, $hIcon, $iIconW, $iIconH, $iColorN, $iColorH, $iColorP]
    	_GuiIconButtonsSettings($idBtn, $aSettings)
    	If Not $bOnmessage Then
    		GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    		$bOnmessage = True
    	EndIf
    	Return $idBtn
    EndFunc
    ; ----------------------------------------------------------------------------------------------------------------------
    Func _GuiIconButtonsSettings($idBtn, $aSettings = Default)
    	Static $mBtns[]
    	Select
    		Case IsArray($aSettings) And UBound($aSettings) = 8
    			$mBtns[$idBtn] = $aSettings
    			Return True
    		Case MapExists($mBtns, $idBtn)
    			Return $mBtns[$idBtn]
    	EndSelect
    	Return False
    EndFunc
    ; ----------------------------------------------------------------------------------------------------------------------
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
        #forceref $iMsg, $wParam, $lParam
    	Local $tNMCD = DllStructCreate($tagNMCUSTOMDRAW, $lParam)
    	Local $idFrom = $tNMCD.IDFrom, $iCode = $tNMCD.Code
    	Local $aSettings = _GuiIconButtonsSettings($idFrom)
    	If IsArray($aSettings) And ($iCode = $NM_CUSTOMDRAW) Then
    		Local $iDS = $tNMCD.dwDrawStage
    		Local $hDC = $tNMCD.hdc
    		Local $tRC = DllStructCreate($tagRECT, DllStructGetPtr($tNMCD, 6))
    		Local $iST = $tNMCD.uItemState
    		Local $iColor = 5
    		Select
    			Case BitAnd($iST, $CDIS_SELECTED)
    				$iColor = 7
    			Case BitAND($iST, $CDIS_HOT)
    				$iColor = 6
    		EndSelect
    		Local $hBR = _WinAPI_CreateSolidBrush($aSettings[$iColor])
    		_WinAPI_FillRect( $hDC, $tRC, $hBR)
    		Local $hIcon = $aSettings[2]
    		Local $iW = $aSettings[3]
    		Local $iH = $aSettings[4]
    		Local $iX = Round(($aSettings[0] - $IW) / 2)
    		Local $iY = Round(($aSettings[1] - $IH) / 2)
    		_WinAPI_DrawIconEX($hDC, $iX, $iY, $hIcon, $iW, $iH)
    		_WinAPI_DeleteObject($hBR)
    		If BitAND($iST, $CDIS_FOCUS) Then
    			$hBR = _WinAPI_GetSysColorBrush($COLOR_HIGHLIGHT )
    			_WinAPI_FrameRect($hDC, $tRC, $hBR)
    		EndIf
    		Return $CDRF_SKIPDEFAULT
    	EndIf
    
    	Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen

    Bei den Includes kann wahrscheinlich noch 'entschlackt' werden. Und das Zeichnen des Buttons könnte man noch verfeinern bzw. an Win 11 anpassen. Für den Start sollte es aber reichen.

    Viel Spaß!

    Edit 05.12.25 13:13: _WinAPI_DrawIconEX() korrigiert

  • ColorChangeIconButton - BugWorkaround?

    • Velted
    • 4. Dezember 2025 um 12:38

    Moin,

    wenn Du ein Label als Buttonersatz nehmen willst, könnte das auch so funktionieren:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <WinAPIShellEx.au3>
    
    Global Const $SS_REALSIZEIMAGE = 0x0800 ; fehlt in StaticConstants.au3
    
    Example()
    
    Func Example()
    	Local $sIconFileName = "C:\Windows\System32\imageres.dll"
    	Local $iIconIndex = 4
    	Local $bg_color = 0x008000
        Global $hGUI = GUICreate("GuiTest", 300, 200)
    
    	; Createing a color label with the icon as pseudo-button
    	Local $iBtnStyle = BitOR($SS_CENTERIMAGE, $SS_ICON, $SS_NOTIFY, $SS_REALSIZEIMAGE)
        Local $idButton_3 = GUICtrlCreateLabel("", 170, 30, 48, 48, $iBtnStyle)
    	GUICtrlSetTip(-1, "nice ico", "")
    	GUICtrlSetBkColor(-1, $bg_color)
    	Local $hIcon = _WinAPI_ShellExtractIcon($sIconFileName, 4, 32, 32)
    	GUICtrlSendMsg(-1, $STM_SETICON, $hIcon, 0)
    
    	; Press this button to "solve" the problem
        Local $idButton_Switch = GUICtrlCreateButton("See the bug!", 210, 170, 85, 25)
    
        GUISetState(@SW_SHOW, $hGUI)
    
        Local $iPID = 0
    
        ; Loop until the user exits.
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
    			Case $idButton_Switch
    				If $bg_color = 0x008000 Then
    					$bg_color = 0x000080
    					GUICtrlSetBkColor($idButton_3, $bg_color)
    					$msg = "nice ico"
    				ElseIf $bg_color = 0x000080 Then
    					$bg_color = 0x008000
    					GUICtrlSetBkColor($idButton_3, $bg_color)
    					$msg = "Nice ico"
    				EndIf
                Case $idButton_3
                    ; Run Notepad with the window maximized.
                    MsgBox(0,"Label-Button", "Does what you want it to do!")
    
            EndSwitch
        WEnd
    
        ; Delete the previous GUI and all controls.
        GUIDelete($hGUI)
    
        ; Close the Notepad process using the PID returned by Run.
        If $iPID Then ProcessClose($iPID)
    EndFunc   ;==>Example
    Alles anzeigen
  • _GDIPlus_ImageCalcDif

    • Velted
    • 3. November 2025 um 15:39

    Moin Reinhard,

    hast Du mit der neuen Version der Funktion (Zeile 5) aus _GDIPlus_ImageCalcDif_3.3.18.0.zip getestet?

    Code
    Func __I2D_BufferCalcDif($v1, $v2) ; Rocket Science
    	Local $iPX = $v1.WIDTH * $v1.HEIGHT
    	Local $vDIFF = DllStructCreate('int')
    	DllStructSetData($vDIFF, 1, $iPX)
    	DllCallAddress('int', $pOP_ImageCalcDif, 'ptr', $v1.PTR, 'ptr', $v2.PTR, 'ptr', DllStructGetPtr($vDIFF)) ; <<<<<<<<<<<<<<<
    ;~ 	_ASM_Call($iOP_ImageCalcDif, $v1.PTR, $v2.PTR, DllStructGetPtr($vDIFF))
    	Local $nDif = DllStructGetData($vDIFF, 1) / $iPX
    	Return ($nDif > 765 Or $nDif < 0) ? SetError(1) : $nDif
    EndFunc

    Und, wenn Du versuchst, mit 64-Bit AutoIt 32-BIT Maschinencode (Assembler) auszuführen, wäre es sehr sehr zufällig, wenn das nicht abstürzt.

  • _GDIPlus_ImageCalcDif

    • Velted
    • 3. November 2025 um 10:05

    Moin, sorry, ich war wohl noch schläfrig. Das war Unsinn!

    Spoiler anzeigen
    Zitat von Mars

    Tja, da gibts wohl keine Funktionen mit "void" Returnwert mehr. Kamma nix machen.

    Das müsste man noch mal intensiv testen. Fakt ist, dass Dein DllCall einen Floatingpoint-Wert zurückgeben soll, und das ist eben nicht "NONE".

    Zitat
    NONEno value (only valid for return type - equivalent to void in C)
    Zitat

    void (C++) | Microsoft Learn

    When used as a function return type, the void keyword specifies that the function doesn't return a value.

    Man könnte deshalb auch meinen, dass Du ursprünglich einen falschen Return-Typ gewählt hast. Wie die returnierten Daten entstehen, bleibt dennoch ein Rätsel.

  • _GDIPlus_ImageCalcDif

    • Velted
    • 2. November 2025 um 13:12

    Moin Zusammen,

    das Ergebnis "0" erhält man nicht einmal, wenn man zwei Mal dieselbe PNG-Datei lädt.

    Das Ergebnis "1" kommt aus SetError(1), bei mir bei der Prüfung ob die Abweichung größer als "765" ist.

    Was da nicht stimmt, kann ich nicht sagen, weil ich den Assembler-Teil nicht prüfen kann.

    Bei mir läuft AutoIt 3.3.18.0 (32 Bit) auf Win 11 (64-Bit).

  • Funktion mit unbestimmter Anzahl von Parametern

    • Velted
    • 23. Oktober 2025 um 13:51

    Moin,

    was hältst Du davon, der Funktion eine Parameter-Array zu übergeben? Damit hast Du immer Alles sicher im Griff.

  • Datenbank : Teil 1 erstellen einer DB

    • Velted
    • 30. September 2025 um 16:35

    Moin BugFix ,

    wie kommst Du zu der Behauptung, ich sei ein 'Forist'? Ich verwahre mich gegen diese vollkommen realitätsferne Unterstellung. ;)

    Mach mal halblang, Velted

    Ansonsten sollte vielleicht ein Moderator den letzten Teil dieses Beitrags unter dem Titel "Wer braucht wofür Datenbanken?" nach Talk verlagern.

  • Datenbank : Teil 1 erstellen einer DB

    • Velted
    • 30. September 2025 um 11:17

    Moin Peter S. Taler ,

    es gibt Leute, die sich als Prügelknaben anbieten, weil ihnen das im Gegenzug die Möglichkeit bietet, lauthals über die Ungerechtigkeit der Mitmenschen und der Welt an sich zu lamentieren. Wenn ich mir Deine Argumente anschaue, entsteht bei mir der Eindruck, dass Du einer von diesen Leuten sein könntest.

    Zitat von Peter S. Taler

    ... mir ist klar, für die folgenden Zeilen beziehe ich wieder mal Prügel...egal.

    ist ein deutlicher Wink mit dem "Zaunpfahl", dass Du nicht an einer sachlichen Auseinandersetzung interessiert bist. Allen hier Beteiligten ist klar, dass eine Datenbank für die Lösung der bisher bekannten Aufgabenstellung nicht notwendig ist. Alina will aber genau diese Lösung ausprobieren. Weshalb also Deine Einwände?

    Und: 10.000 Datensätze mit 10 Feldern sind für aktuelle Rechner normalerweise eine 'winzige' Datenmenge. Ich hätte angenommen, dass Du das weißt.

  • Datenbank : Teil 1 erstellen einer DB

    • Velted
    • 29. September 2025 um 12:27

    Moin Peter S. Taler,

    die Anderen haben anscheinend keine Lust auf eine Prügelei, ich eigentlich auch nicht, aber ich bin heute mit richtig schlechter Laune aufgewacht und nehme Dein Angebot deshalb gern an.

    Wenn Alina eine Datenbank benutzen will, so lass ihr doch ihren Willen. Du hast sicher Recht, wenn Du sagst, dass man einfach strukturierte Textdaten mit ein paar Hundert Sätzen mit jeweils ein paar Zig Feldern auf aktuellen Rechnern auch mit einer normalen Datei bearbeiten kann. Dein _FileReadToArray() versagt aber schon dann, wenn Du das Delimiterzeichen auch in Feldinhalten benötigst. Mehrzeilige Feldinhalte sind nur mit einigem Aufwand realisierbar und binäre Feldinhalte bleiben auch 'außen vor'.

    Wenn die Dateien größer werden ist _FileReadToArray() auch nur bedingt das Mittel der Wahl. Intern werden dabei für den gesamten Inhalt der Datei zwei Arrays erstellt. Das kann dauern und unnütz viel Speicher kosten (Ich weiß, Speicher kostet nichts!).

    Wenn Du für Deine Datenbank ein schlichtes 'lokales' DB-System wie SQLite verwendest, beschränkt sich der Aufwand auf das Einlesen in die UDF und die SQL-Syntax. Man kann das schaffen.

    Solange Du mit Deinen Dateien glücklich bist, nutze sie. Was Alina macht, sollte aber ihr überlassen bleiben.

    Grüße, Velted

  • Datumsformat

    • Velted
    • 25. September 2025 um 09:58

    Fast vergessen: Die AM/PM Zeit entspricht der Anzeige einer analogen 12-stündigen Uhr. Es gibt zweimal am Tag 12 Uhr. Die 12 der ersten Tageshälfte (AM) ist 0 Uhr.

  • Datumsformat

    • Velted
    • 25. September 2025 um 09:42

    Moin,

    ich denke, dass das hier die allgemeine Auffassung in englischspracigen Ländern darstellt:

    AM und PM – Bedeutung

    ... wenn die 59. Minute der 11. Stunde abgelaufen ist, beginnt die zweite Tageshälfte um 12 Uhr

    ... wenn die 59. Minute der 23. Stunde abgelaufen ist, beginnt der neue Tag mit 0 Uhr

  • Dateipfad mit Makronamen besetzen

    • Velted
    • 26. Juli 2025 um 10:53

    Noch eine Idee: Vielleicht kannst Du ja (zumindest für Teile)

    AutoIt
    #include <WinAPIShPath.au3>
    _WinAPI_PathUnExpandEnvStrings ( $sFilePath )

    nutzen?

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™