Funktionreferenz


_WinAPI_HashString

Beschreibung anzeigen in

Erstellt einen Hash für eine Zeichenfolge

#include <WinAPIConv.au3>
_WinAPI_HashString ( $sString [, $bCaseSensitive = True [, $iLength = 32]] )

Parameter

$sString Die zu hashende Zeichenfolge.
$bCaseSensitive [optional] Gibt an, ob die Zeichenfolge bei der Berechnung des Hashwerts als gültige Werte in Groß- und Kleinschreibung behandelt werden soll:
True - Klein- und Großbuchstaben ergeben unterschiedliche Hashwerte (Standard).
False - Klein- und Großbuchstaben ergeben dieselben Hashwerte.
$iLength [optional] Die Länge der Hash-Daten, in Bytes. Sie sollte nicht größer als 256 sein, sonst schlägt die Funktion fehl. Die Voreinstellung ist 32.

Rückgabewert

Erfolg: Die Hashdaten in binärer Form.
Fehler: Setzt das @error Flag auf ungleich 0, das @extended Flag kann den HRESULT-Fehlercode enthalten.

Beispiel

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIConv.au3>
#include <WindowsNotifsConstants.au3>

Global $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 96)
Global $Input1 = GUICtrlCreateInput('', 20, 20, 360, 20)
GUICtrlSetLimit(-1, 255)
Global $Input2 = GUICtrlCreateInput('', 20, 56, 360, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg, $lParam

    Switch $hWnd
        Case $hForm
            Switch _WinAPI_LoWord($wParam)
                Case $Input1
                    Switch _WinAPI_HiWord($wParam)
                        Case $EN_CHANGE
                            Local $Hash
                            $Hash = _WinAPI_HashString(GUICtrlRead($Input1), 0, 16)
                            If Not @error Then
                                GUICtrlSetData($Input2, $Hash)
                            Else
                                GUICtrlSetData($Input2, '')
                            EndIf
                    EndSwitch
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND