レジストリのREG_DWORD型書込を正しくするには?

解決


hane  2003-12-18 21:26:58  No: 80972

初めましてレジストリのREG_DWORD型の読込は正しくできるのですが書込はregeditで見ると設定した値と異なりますので教えて下さい。
プロシジャーは引数で行っていますが引数を固定値でしても同一の症状となります。
Public Function SetRegLong(ByVal lngRootKey As Long, ByVal strSubkey As String, _
    ByVal strValueName As String, ByVal SetValue As Long) As Integer

    Dim lngRet    As Long
    Dim lnghSubKey As Long
    lngRootKey = HKEY_CURRENT_USER
    strSubkey = "Key"
    strValueName = "Value"
    SetValue = 1023&
    lngRet = RegCreateKeyEx(lngRootKey, strSubkey, 0&, vbNullString, ByVal 0&, KEY_WRITE, ByVal 0&, lnghSubKey, ByVal 0&)                     'キーを作成する
    SetRegLong = DllOpenErr
    If lngRet <> ERROR_SUCCESS Then Exit Function
    lngRet = RegSetValueEx(lnghSubKey, strValueName, 0&, REG_DWORD, ByVal SetValue, Len(SetValue))
    Call RegCloseKey(lnghSubKey)
    SetRegLong = DllAccessErr
    If lngRet <> ERROR_SUCCESS Then Exit Function
    SetRegLong = DllNoneErr
End Function
書込データ(dec)  →  実際の設定されたデータ(dec)  
1023                4608
1                    906251791
2                    154534990
1111                -1275068416
9999                2105376
等です。
以上よろしく御願いします。


ポン  2003-12-19 00:00:28  No: 80973

RegSetValueExのSetValueは、値が入ったバッファへのポインタなので、
REG_DWORDの場合、ByRef SetValue ではないでしょうか?


hane  2003-12-19 00:27:39  No: 80974

ポンさん  解決しました有り難うございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加