NumPut()
提供: AutoHotkey Wiki
実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 |
キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル |
レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト
NumPut() [v1.0.47+][編集]
メモリ上の指定アドレスに整数値を書き込む。
NumPut(Number, Var|Addr [, Offset = 0, Type = "UInt"])
AHKL
NumPut(Number, Var|Addr [, Offset = 0, Type = "UPtr"])
Parameters[編集]
引数名 | 説明 |
---|---|
Number | 書き込む数値 |
Var|Addr | 変数を指定した場合、その変数に割り当てられたメモリ領域が対象となる( &VarName のように指定するのと同じ)。数値や式を指定した場合は、その数値のアドレスに書き込まれる。 変数に格納されているアドレスを指定したい場合は、 VarName+0 のように、値の変らない演算を行えばよい。
|
Offset | Addrで指定した領域からのオフセットをバイト数で指定する。NumGet(MyVar,4) とすると、MyVar変数のメモリ領域の先頭から4バイト飛ばした位置に書き込まれる。
AHKL [L57+] オフセットが0の場合に限り省略可。例) |
Type | 値のデータ型を指定する。Int, UInt, Short, UShort, Char UChar, Double, Float, Int64 (AHKL UInt64, Ptr, UPtr ) のいずれかを指定する(それぞれの意味は、DllCall()を参照)。ただし、DllCall()と違い、引用符を省略して指定することは出来ない。 |
Remarks[編集]
指定したデータ型のバイト精度を上回る値を格納しようとした場合、バイト範囲外のデータは無視される。例)「NumPut(257, var, 0, "Char")
」とした場合、257 は 0x101 なので格納される値は "1" となる。
Related[編集]
AHKL メモリ上の指定アドレスに文字列を書き込むには StrPut() を用いる。
Related[編集]
NumGet(), VarSetCapacity(), DllCall()
AHKL StrPut()