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の場合に限り省略可。例) NumPut(x, var, "Int")

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()