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!
Meine fertigen Helfer:
Spoiler anzeigen
#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
Spoiler anzeigen
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
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
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
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
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
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
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
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
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
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
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
Func _WinAPI_ANSICodepage()
Dim $aResult = DllCall("Kernel32.dll", 'uint', 'GetACP')
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[0]
EndFunc ;==>_WinAPI_ANSICodepage
Ich hofe das wir bald sehr viele neue Funktionen in Autoit begrüßen dürfen!
LG Kleiner