|
|
2008/3/11(Tue) 02:46:51|NO.14077
レジストリのバイナリデータの数値設定方法がわかりません
変数で数値を設定すると思うのですがマニュアルには書き方もかいてありません
試しにsizeが1の時に0で設定した場合は30、aで設定した場合は61となります
個人的にsizeは4で「50 01 00 20」に設定したいのですが
どうすればいいんでしょうか?
例↓HKEY_USERSにtest01というkeyがあり
セクションtest02にバイナリデータを設定するとします
#include "hspext.as"
regkey 2,"test01",0 ;(2=HKEY_USERS)(0=exist-key)
hensu="50010020" ;→35,30,30,31になり意味不明、書き方も説明がない
setreg hensu,"test02",2,4 ;(2=vinary)(4=size)
dialog "test ok"
stop
|
|
2008/3/11(Tue) 08:08:38|NO.14078
バイナリデータ書いて無いからでね?
>hensu="50010020" ;→35,30,30,31
これは文字列を入れているだけだ。
35,30,30,31と言うのはキャラクタコードで「5,0,0,1」の事だ。
0x50,0x01,0x10,0x20の16進数で入れたいのなら、poke使えば良いんでね。
|
|
2008/3/11(Tue) 20:56:19|NO.14090
16進数とpoke命令はわかったのですがバッファのインデックス(byte)を複数設定する
書き方がわかりません、どのように書けばいいんでしょうか?
#include "hspext.as"
regkey 2,"test01",0 ;(2=HKEY_USERS)(0=exist-key)
poke bufa,0,80 ;(0=byte)(80=50)(ここから)
hensua=bufa
setreg hensua,"test02",2,4 ;(2=vinary)(4=size)
poke bufb,1,01
hensub=bufb
setreg hensub,"test02",2,4
poke bufc,2,00
hensuc=bufc
setreg hensuc,"test02",2,4 ;(ここまで)
poke bufd,3,32 ;**
hensud=bufd ;**
setreg hensud,"test02",2,4 ;**
dialog "test ok"
end
この書き方だと(ここから)〜(ここまで)が下の**3行により上書きされて
結果としてバイナリデータは00000020になってしまいます
|
|
2008/3/11(Tue) 23:05:17|NO.14101
・・・。
なんか色々な意味で惜しい感じだな。
#include "hspext.as"
regkey 2,"test01",0 ;(2=HKEY_USERS)(0=exist-key)
poke bufa,0,80 ;(0=byte)(80=50)(ここから)
// bufa の中身が 80 ** ** ** ... になる。**は未定部分。おそらくHSPでは00になってる
hensua=bufa
// その内容をhensuaに入れる。この段階で数値変数なのか文字変数なのか全然分からん。動くもんだな。
setreg hensua,"test02",2,4 ;(2=vinary)(4=size)
// test2にバイナリで80 ** ** ** を書き出す
poke bufb,1,01
// bufb の中身が ** 01 ** ** ... になる。
hensub=bufb
// hensub に bufbの中身を入れる
setreg hensub,"test02",2,4
// 重要!
// さっき書いたところに ** 01 ** **を上書きする
poke bufc,2,00
hensuc=bufc
setreg hensuc,"test02",2,4 ;(ここまで)
poke bufd,3,32 ;**
hensud=bufd ;**
setreg hensud,"test02",2,4 ;**
// 重要!
// と言うわけで、最後に上書きした内容は ** ** ** 20 でした。
dialog "test ok"
end
書いてる通りにしか動いてないが。
sdim hensu . 4
poke hensu , 0 , 0x50
poke hensu , 1 , 0x01
poke hensu , 2 , 0x00
poke hensu , 3 , 0x20
素直にこう書けば良いんでね?
|
|
2008/3/12(Wed) 04:10:43|NO.14118
>fさん
解決しました、ありがとうございました
|
|