Die WinApi erweitern!

  • Hi Leute!

    Ich habe vorhin ein link zu Seite https://autoit.de/www.ActiveVB.de in funkey´s Post erstellt, auf dieser seite sind viele viele DLL aufgelistet mit den dazugehöriegen Funktionen Ok manche sind schon Veraltet aber mit den vorlagen könnten wir (alle) wehr natürlich lust hat die WinAPI.au3 erweitern um AutoIT mit vielen nützlichen Funktionen zu erweitern?

    Link:
    Dell_Funktionen

    Habe mir ein paar helfer gebastelt, wer will basltelt (Codet) die Funktionen zusammen und last uns die WinApi erweitern! :rolleyes:

    Meine fertigen Helfer:

    Spoiler anzeigen
    [autoit]

    #include 'WinApi_DE.au3'

    [/autoit] [autoit][/autoit] [autoit]

    $Text = 'DWORD cbSize; _int64 i64Size;_int64 i64NumItem'

    [/autoit] [autoit][/autoit] [autoit]

    $Text_1 = 'DWORD cbSize; _int64 i64Size;_int64 i64NumItems'

    [/autoit] [autoit][/autoit] [autoit]

    $Var = ')(/&%$AutoIT.de\}][{'

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 0, _WinAPI_lstrcmp($Text, $Text_1))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, $Var, _WinAPI_StrTrim($Var, '\}][{)$(/&%'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 0, _WinAPI_StrIsIntlEqual(True, $Text, $Text_1, 6))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 'C:\Windows', _WinAPI_PathStripToRoot('C:\Windows'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 'C:\Windows\System32', _WinAPI_PathStripPath('C:\Windows\System32'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 'C:\Windows\System32', _WinAPI_PathSkipRoot('C:\Windows\System32'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 0, _WinAPI_PathMatchSpec($Text, '*n*'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 0, _WinAPI_SearchTreeForFile('c:\windows', 'user32.dll'))

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, 0, _WinAPI_ANSICodepage())

    [/autoit]

    WinApi_DE :D

    Spoiler anzeigen
    [autoit]

    Func _WinAPI_lstrcmp($lpString1, $lpString2);vergleicht zwei strings
    Dim $aResult = DllCall('kernel32.dll', 'int', 'lstrcmp', 'str', $lpString1, 'str', $lpString2)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_lstrcmp

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_FileEncryptionStatus($lpFileName, $lpStatus = '')
    Dim $aResult = DllCall('advapi32.dll', 'bool', 'FileEncryptionStatusA', 'str', $lpFileName, 'dword', $lpStatus)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_FileEncryptionStatus

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_EncryptFile($lpFileName)
    Dim $aResult = DllCall('advapi32.dll', 'bool', 'EncryptFileA', 'str', $lpFileName)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_EncryptFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_DecryptFile($lpFileName, $dwReserved = 0)
    Dim $aResult = DllCall('advapi32.dll', 'bool', 'DecryptFileA', 'str', $lpFileName, 'dword', $dwReserved)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_DecryptFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_StrTrim($pszSource, $pszTrimChars); Entfernt führende und nachfolgende angegebenen Zeichen aus einer Zeichenfolge.
    Dim $aResult = DllCall('shlwapi.dll', 'bool', 'StrTrimA', 'str', $pszSource, 'str', $pszTrimChars)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_StrTrim

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_StrIsIntlEqual($CaseSens, $lpString1, $lpString2, $nChar); Vergleicht eine bestimmte Anzahl von Zeichen vom Beginn des zwei Strings zu ermitteln, ob sie gleich sind.
    Dim $aResult = DllCall('shlwapi.dll', 'bool', 'StrIsIntlEqual', 'bool', $CaseSens, 'str', $lpString1, 'str', $lpString2, 'int', $nChar)
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_StrIsIntlEqual

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_PathStripToRoot($pszFile); Entfernt alle Teile des Weges mit Ausnahme des Root-Informationen.
    Dim $aResult = DllCall('shlwapi.dll', 'bool', 'PathStripToRoot', 'str', $pszFile)
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_PathStripToRoot

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_PathStripPath($pszFile); Entfernt den Pfad Teil eines vollständig qualifizierten Pfad und Datei.
    Dim $aResult = DllCall('shlwapi.dll', 'ptr', 'PathStripPath', 'str', $pszFile)
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[1]
    EndFunc ;==>_WinAPI_PathStripPath

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_PathSkipRoot($pszFile); Analysiert einen Weg, ignorieren Sie den Laufwerksbuchstaben oder Universal Naming Convention (UNC) server / share Pfadelemente.
    Dim $aResult = DllCall('shlwapi.dll', 'str', 'PathSkipRoot', 'str', $pszFile)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_PathSkipRoot

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_PathMatchSpec($pszFile, $pszSpec); Durchsucht einen String mit einem Microsoft MS-DOS Wild Card Match
    Dim $aResult = DllCall('shlwapi.dll', 'bool', 'PathMatchSpecA', 'str', $pszFile, 'str', $pszSpec)
    If @error Then Return SetError(@error, @extended, False)
    Return BitAND($aResult[0], 1) = 1
    EndFunc ;==>_WinAPI_PathMatchSpec

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_SearchTreeForFile($RootPath, $InputPathName, $OutputPathBuffer = 255)
    Dim $aResult = DllCall('imagehlp.dll', 'bool', 'SearchTreeForFile', 'str', $RootPath, 'str', $InputPathName, 'str', $OutputPathBuffer)
    If @error Then Return SetError(@error, @extended, False)
    Return $aResult[3]
    EndFunc ;==>_WinAPI_SearchTreeForFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_ANSICodepage()
    Dim $aResult = DllCall("Kernel32.dll", 'uint', 'GetACP')
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[0]
    EndFunc ;==>_WinAPI_ANSICodepage

    [/autoit]

    Ich hofe das wir bald sehr viele neue Funktionen in Autoit begrüßen dürfen! 8)

    LG Kleiner

  • Ohhhh nö :(


    Gut, wie ich gesehen habe gibt es noch viele viel ander Funktionen die man nach Coden kann aber ..... nagut was sol´s wieter gehts! :rolleyes:


    LG Kleiner

  • Zitat

    Gut, wie ich gesehen habe gibt es noch viele viel ander Funktionen

    zwischen 30 und 40tausend, genau weiss das wohl keiner...öffne einfach mal alle Dll´s unterhalb vom Windowsverzeichnis und lass dir die Funktionen ausgeben....viel Spass dabei^^
    Gestern oder heute wurde hier doch ein Funktionenviewer für Dll´s vorgestellt...