HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0712
cppppレジストリ エラー8解決


cpppp

リンク

2010/7/12(Mon) 17:13:40|NO.33622

#include "hspext.as"
regkey 1,"Hardware\\Description\\System\\CentralProcessor\\0"
getreg cpu,"~Mhz",1

これでやると、外部DLL呼び出しに失敗しました と出ます。

DLLは存在します。また、エラーはgetregの行で出ます。

これはなぜでしょうか??

教えてください。お願いします。



この記事に返信する


cpppp

リンク

2010/7/12(Mon) 17:20:24|NO.33624

すいません、追加です。

getreg cpu,"~Mhz",0 でも同じです.

エディタで実行していますが、念のためスクリプトのあるフォルダにもDLL入れています。



あまま

リンク

2010/7/12(Mon) 18:31:39|NO.33626

見たところおかしな箇所が見当たらないにもかかわらず、
同様のエラーが発生しましたので
念のためregkeyの直後のstatの値を確認してみたところ
ここですでにエラーとなっていました。

念のために"System" "Security" なども確認してみましたが
(私の環境では)HKEY_LOCAL_MACHINE内で正常にキー指定できたのは
hspextのサンプルソースで指定されている
"Software"のみでした。

環境によるものなのかもしれませんが
もしかするとhspextのバグかもしれません。

hspextではなくAPIを使った場合では値の取得ができたので、
お急ぎならば他のモジュールやプラグインなどを使うといいかもしれません。



テック

リンク

2010/7/12(Mon) 18:52:55|NO.33629

「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

とサンプルスクリプトを載せても、実行してみたら、
"レジストリーキーの新規作成に失敗しました"と
出力されてしまうので、既にレジストリキーが存在する場合については、
もう少し調べてみようと思います。



inovia

リンク

2010/7/12(Mon) 18:56:03|NO.33630

HSP3.2 + Vistaで動かしてみましたが、きちんと変数cpuに数字が入っていました。
(こちらでは2194でした)
環境依存かな?



ANTARES

リンク

2010/7/13(Tue) 04:52:55|NO.33646

>これはなぜでしょうか??
 キーが存在するとは書いてないので、きっと存在しないのでしょう。

 HSP3.21 WinXPProおよびWin7Homeではキーが存在するため、再現しませんでした。



あまま

リンク

2010/7/13(Tue) 21:04:27|NO.33649

追記
ユーザーアカウント制御を無効にしたところ
エラーが無くなり値の取得ができました。

エラーが出るのはアクセス権限の問題かもしれません。



Hiroaki Software

リンク

2010/7/14(Wed) 15:26:42|NO.33661

管理者権限で実行すると正常になりますね。

>>cppppさん
エラーの対処方法なのですが、
エディタから実行の場合エディタを管理者権限で実行してから
例のスクリプト(NO.33622のスクリプト)を十こしてみてください。
実行ファイルにした後の対処方法なのですが
http://hsp.tv/play/pforum.php?mode=all&num=33321
に掲示した方法でプログラムを管理者権限で再起動することができます。
また、ダウンロードの方法なのですがそのページに示してあるURLに再アップロード
いたしましたので、ご利用ください。

尚、このモジュールの質問につきましては、
僕のHPのサポート掲示板( http://hiroaki2008.ktkr.net/cgi-bin/softbbs/patio.cgi )
もしくは Skype ID:hirosof まで問い合わせください。
ちなみにこのSkype IDはネットサポート用になっております。
勿論、HPのメールフォーム
( http://hiroaki2008.ktkr.net/cgi-bin/mailformpro2/mail/mailform.html )
でも質問等を受け付けます。

以上



cpppp

リンク

2010/7/14(Wed) 22:36:08|NO.33665

皆さんありがとうございます。

モジュールを使うことにしました

皆さん本当にありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.