Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Get values error in my procedure(registry)
Message
From
31/01/2004 09:27:32
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
31/01/2004 08:56:54
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00872651
Message ID:
00872653
Views:
23
>I am able to write the string value to registry, But when i am trying read the value back it is only showing [ ] on the form.
>
>Can you please tell me do i need to add something to my get_value procedure to the following:
>
>?"["+get_value("options1")+"]"
>
>I am attaching the code Please Help:
>***********************************************************************
>#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_SZ ( 1 ) && Unicode nul terminated string
>
>#define REG_DWORD ( 4 ) && 32-bit number
>
>
>DECLARE long RegSetValueEx in advapi32 AS RegSetValue;
> long hkey, string value, long reserved, long type, string data, long data_size
>* Creates or changes registry value
>
>DECLARE long RegQueryValueEx in advapi32 AS RegGetValue;
> long hkey, string value, long @reserved, long @type, string @data, long @data_size
>* Loads registry value
>
>
>do set_value with "options1", "HiEveryone"
>?"["+get_value("options1")+"]"
>
>
>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.
>
>
>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)
>**************************************************************************
>Thank you very much for your help.

Try changing your declaration :
Declare Integer RegQueryValueEx In Win32API AS RegGetValue ;
  Integer nHKey, String lpszValueName, Integer dwReserved,;
  Integer @lpdwType, String @lpbData, Integer @lpcbData
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform