「getreg DLLエラー」でググったら、取り上げているサイトがありました。↓
(
http://scripttpircs.seesaa.net/article/128651434.html)
え〜と、cppppさんと同じようにレジストリにアクセスしようとしたときに
エラーがでるみたいです。
原因は、regkeyを実行した場合、statに戻り値が格納されるのですが、
statの値を判定せず、続けて、getreg命令を実行してしまうから起きるみたいです。
regkey実行後、statの値を判定すればいいと思います。
↓にサンプルスクリプトを記載しておきます。
#include "hspext.as"
// グローバル変数を初期化する
cpu = ""
// レジストリーキーを指定する(読み出しモード)
regkey 1, "Hardware\\Description\\System\\CentralProcessor\\0", 0
// regkey命令の戻り値を出力する
mes "regkey(読み出しモード)の戻り値:" + stat
// regkey命令が正常に終了した場合
if (stat = 0) {
// レジストリを読み出す
getreg cpu, "~MHz", 0
// レジストリを読み出すことができた場合
if (stat = 0) {
// レジストリを表示する
mes cpu
// レジストリを読み出すことができなかった場合
} else {
mes "レジストリ読み出しに失敗しました"
}
// regkey命令でエラーが発生した場合
} else {
// レジストリーキーを指定する(新規作成モード)
regkey 1, "Hardware\\Description\\System\\CentralProcessor\\0", 1
// レジストリーキーを新規作成することができた場合
if (stat = 0) {
mes "レジストリーキーの新規作成に成功しました"
// レジストリーキーを新規作成することができなかった場合
} else {
mes "レジストリーキーの新規作成に失敗しました"
}
}
stop
とサンプルスクリプトを載せても、実行してみたら、
"レジストリーキーの新規作成に失敗しました"と
出力されてしまうので、既にレジストリキーが存在する場合については、
もう少し調べてみようと思います。