by ノッチ » 2006年2月09日(木) 10:03
> レジストリのDWORD値を取る方法を知っていたら教えて下さい。
> HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Internet Settings"の"MaxConnectionsPer1_0Server"の値を取ろうとするとなぜか0か4しか帰って来ません。
>
> よろしくお願いします。
まんま答えはめんどくさいのでまた今度ということで、なぜ取得できないかを
切り分ける方法です。
まずはそれぞれの関数(API)が成功しているかを確認しましょう。
ret=RegOpenKeyEx(~~~~~)
MessageBox(0,Chr$(ret),"RegOpenKeyEx",0)
のようにひとつずつ戻り値が正常かどうかを確認します。
エラーが発生していたら、GetLastErrorとFormatMessageでより詳細なエラー情報を
取得します。
パラメーターが間違っているやハンドルが無効などの場合それぞれを調べます。
それでも解決しない場合は関数の引数が正しいかをヘルプやインターネット等を
駆使して調べます。
特にレジストリは"REG_DWORD"を入れた変数のポインタを指定する等、
めんどくさい指定が多いので気を付けて下さい。
> レジストリのDWORD値を取る方法を知っていたら教えて下さい。
> HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Internet Settings"の"MaxConnectionsPer1_0Server"の値を取ろうとするとなぜか0か4しか帰って来ません。
>
> よろしくお願いします。
まんま答えはめんどくさいのでまた今度ということで、なぜ取得できないかを
切り分ける方法です。
まずはそれぞれの関数(API)が成功しているかを確認しましょう。
ret=RegOpenKeyEx(~~~~~)
MessageBox(0,Chr$(ret),"RegOpenKeyEx",0)
のようにひとつずつ戻り値が正常かどうかを確認します。
エラーが発生していたら、GetLastErrorとFormatMessageでより詳細なエラー情報を
取得します。
パラメーターが間違っているやハンドルが無効などの場合それぞれを調べます。
それでも解決しない場合は関数の引数が正しいかをヘルプやインターネット等を
駆使して調べます。
特にレジストリは"REG_DWORD"を入れた変数のポインタを指定する等、
めんどくさい指定が多いので気を付けて下さい。