Gibt eine binäre Nummer zurück, die auf einer bestimmten Adresse + Offset zu finden ist.
Nummer := NumGet(VarOderAdresse , Offset := 0, Typ := "UPtr")
Eine Speicheradresse oder Variable. Wenn VarOderAdresse eine Variable wie MeineVar
ist, wird die Adresse des Zeichenkettenpuffers der Variable verwendet. Im Prinzip ist dies das gleiche wie, als würde man &MeineVar
übergeben, allerdings wird durch Weglassen von "&" eine bessere Leistung erzielt und sichergestellt, dass die Zieladresse + Offset gültig ist.
Übergeben Sie keine Variablenreferenz, wenn die Variable die Zieladresse enthält; übergeben Sie in diesem Fall einen Ausdruck wie MeineVar+0
.
Eine Zahl (in Bytes), die mit VarOderAdresse addiert wird, um die Zieladresse zu bestimmen.
Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig UPtr verwendet. Ansonsten können Sie UInt, Int, Int64, Short, UShort, Char, UChar, Double, Float, Ptr oder UPtr angeben.
Vorzeichenlose 64-Bit-Integer werden nicht unterstützt, da der native Integer-Typ von AutoHotkey "Int64" ist. Um mit Zahlen größer gleich 0x8000000000000000 umzugehen, sollten Sie auf das U-Präfix verzichten und negative Werte als große Integer (Int64) behandeln. Ein als UInt64 gedachter Int64-Wert von -1 ist in Wirklichkeit 0xFFFFFFFFFFFFFFFF. Bei 64-Bit-Versionen ist UPtr äquivalent zu Int64.
Diese Typen müssen, im Gegensatz zu den Typen von DllCall(), in Anführungszeichen gesetzt werden, wenn sie direkt geschriebene Zeichenketten sein sollen.
Um mehr darüber zu erfahren, siehe DllCall-Typen.
Ist die Zieladresse ungültig, wird eine leere Zeichenkette zurückgegeben. Allerdings ist es möglich, dass einige ungültige Adressen nicht als solches erkannt werden, was zu unvorhersehbaren Verhalten führen könnte.
Ansonsten wird eine Nummer zurückgegeben, die auf der angegebenen Adresse + Offset zu finden ist.
Sind nur zwei Parameter vorhanden, kann der zweite Parameter entweder Offset oder Typ sein. Zum Beispiel wäre NumGet(var, "int")
zulässig.