レジストリの値を設定 <TOP>
SHSetValue
レジストリ値を設定
HKEY_CURRENT_USER\Tokovalue\FBTipsを作成し、文字列型、数値型、バイナリ型の値を書き込んでいます。
レジストリエディタで確認をしています。(上の図と同期はとっていません!)
'================================================================ '= レジストリの値を設定 '= (SHSetValue.bas) '================================================================ #include "Windows.bi" ' レジストリ値を設定 Declare Function Api_SHSetValue& Lib "Shlwapi" Alias "SHSetValueA" (ByVal hkey&, ByVal pszSubKey$, ByVal pszValue$, ByVal dwType&, pvData As Any, ByVal cbData&) #define HKEY_CURRENT_USER -2147483647 '現在Windowsにログインしているユーザーの情報 #define REG_BINARY 3 'バイナリデータ #define REG_DWORD 4 '32ビットの数値 #define REG_SZ 1 'ヌル終端文字列 Var Shared Text1 As Object Var Shared Button1 As Object Var Shared Button2 As Object Var Shared Button3 As Object Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14 Button3.Attach GetDlgItem("Button3") : Button3.SetFontSize 14 Var Shared SubKey As String '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() SubKey = "Software\Tokovalue\FBTips" Text1.SetWindowText SubKey End Sub '================================================================ '= 文字列型を設定 '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var sData As String Var Ret As Long sData = "Test Value" Rat = Api_SHSetValue(HKEY_CURRENT_USER, SubKey, "Test", REG_SZ, sData, Len(sData)) End Sub '================================================================ '= 数値型を設定 '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() Var lData As Long Var Ret As Long lData = 10 Ret = Api_SHSetValue(HKEY_CURRENT_USER, SubKey, "Test Value", REG_DWORD, lData, Len(lData)) End Sub '================================================================ '= バイナリ型を設定 '================================================================ Declare Sub Button3_on edecl () Sub Button3_on() Var bData(10) As Byte Var Ret As Long bData(0) = 10 bData(1) = 20 Ret = Api_SHSetValue(HKEY_CURRENT_USER, SubKey, "Test Binary", REG_BINARY, ByVal VarAdr(bData(0)), bData(1)) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End