Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to write value to REG_DWORD(registry)
Message
From
31/01/2004 12:57:17
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Other
Title:
How to write value to REG_DWORD(registry)
Miscellaneous
Thread ID:
00872666
Message ID:
00872666
Views:
99
I am able to write to REG_SZ, but when i am changing it to write to REG_DWORD(32 bit number) i am getting error data type mismatch etc.

Can you please change the following code to write to REG_DWORD instead of REG_SZ thank you very much.
################################################################
#define PATH_TO_MY_SUBKEY "Software\aaa_test"

#define HKEY_CLASSES_ROOT ( 2147483648 )
#define HKEY_CURRENT_USER ( 2147483649 )
#define HKEY_LOCAL_MACHINE ( 2147483650 )
#define HKEY_USERS ( 2147483651 )

DECLARE long RegCreateKeyA in advapi32 AS RegCreate long hkey, string subkey, long @phkey
* Creates or opens registry subkey
DECLARE long RegOpenKeyA in advapi32 AS RegOpen long hkey, string subkey, long @phkey
* Opens registry subkey


#define REG_NONE ( 0 ) && No value type
#define REG_SZ ( 1 ) && Unicode nul terminated string
#define REG_EXPAND_SZ ( 2 ) && Unicode nul terminated string
&& (with environment variable references)
#define REG_BINARY ( 3 ) && Free form binary
#define REG_DWORD ( 4 ) && 32-bit number
#define REG_DWORD_LITTLE_ENDIAN ( 4 ) && 32-bit number (same as REG_DWORD)
#define REG_DWORD_BIG_ENDIAN ( 5 ) && 32-bit number
#define REG_LINK ( 6 ) && Symbolic Link (unicode)
#define REG_MULTI_SZ ( 7 ) && Multiple Unicode strings
#define REG_RESOURCE_LIST ( 8 ) && Resource list in the resource map
#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) && Resource list in the hardware description
#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )


DECLARE long RegSetValueEx in advapi32 AS RegSetValue;
long hkey, string value, long reserved, long type, string data, long data_size


Declare Integer RegQueryValueEx In advapi32 AS RegGetValue ;
Integer hkey, String Value, Integer Reserved,;
Integer @Type, String @Data, Integer @Data_size


do set_value with "options1", "1"

?get_value("options1")


PROCEDURE get_value
LPARAMETERS opt_name
aaa = 0
res = 0
type = 0
data = SPACE(101)
data_size = 100
IF RegOpen(HKEY_LOCAL_MACHINE, PATH_TO_MY_SUBKEY, @aaa)=0
=RegGetValue(m.aaa, m.opt_name, @res, @type, @data, @data_size)
=RegClose(m.aaa)
ENDIF
RETURN LEFT(m.data, m.data_size-1)


PROCEDURE set_value
PARAMETERS opt_name, value
aaa = 0
IF RegCreate(HKEY_LOCAL_MACHINE, PATH_TO_MY_SUBKEY, @aaa)=0
=RegSetValue(aaa, m.opt_name, 0, REG_SZ, m.value, LEN(m.value)+1)
=RegClose(aaa)
RETURN .T.
ENDIF
RETURN .F.
######################################################################
Next
Reply
Map
View

Click here to load this message in the networking platform