首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

RegQueryValueEx SetDlgItemText

2012-03-16 
请教高手RegQueryValueEx SetDlgItemTextTCHAR string[20]char *KeyNum[0]99RegQueryValueEx(HKEY_CUR

请教高手RegQueryValueEx SetDlgItemText
TCHAR string[20];
char *KeyNum[0]="99"
RegQueryValueEx(HKEY_CURRENT_USER,KeyNum[0],0,0,string,&dw);
SetDlgItemText(hDlg,IDC_NUM1,string);
这段代码在对话框控件中不能正确显示,但是把这个函数SetDlgItemText(hDlg,IDC_NUM1,string);
改成RegSetValueEx()在注册表里能正确显示

[解决办法]

C/C++ code
通过RegQueryValueEx函数可以从一个已经打开的键中读取数据,函数原型如下:  LONG RegQueryValueEx(  HKEY hKey,  LPTSTR lpValueName,  LPDWORD lpReserved,  LPDWORD lpType,  LPBYTE lpData,  LPDWORD lpcbData  );  各个参数及返回值的含义如下:  ?参数hKey为当前的一个打开的键的句柄,具体数值同RegCreateKeyEx函数的hKey参数。  ?参数lpVauleName为一个指向非空的包含查询值的名称的字符串指针。  ?lpReserved保留,必须为NULL。  ?参数lpType为一个指向数据类型的指针,数据类型为下列类型之一:  REG_BINARY 二进制数据  REG_DWORD 32位整数  REG_DWORD_LITTLE_ENDIAN little-endian格式的数据,例如0X12345678以(0X78 0X56 0X34 0X12)方式保存  REG_DWORD_BIG_ENDIAN big-endian格式的数据,例如0X12345678以(0X12 0X34 0X56 0X78)方式保存  REG_EXPAND_SZ 一个包含未扩展环境变量的字符串  REG_LINK 一个Unicode类型的链接  REG_MULIT_SZ 以两个零结尾的字符串  REG_NONE 无类型数值  REG_RESOURCE_LIST 设备驱动资源列表  REG_SZ 一个以零结尾的字符串根据函数使用的字符集类型的不同而设置为Unicode或ANSI类型的字符串  ?参数lpData为一个指向保存返回值的变量的指针。如果不需要返回值,该参数可以为NULL。  ?参数lpcbData为一个指向保存返回值长度的变量的指针。其中长度以字节为单位。如果数据类型为REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ,那么长度也包括结尾的零字符,只有在参数lpData为NULL时,参数lpcbData才可以为NULL。  ?返回值同RegCreateKeyEx函数的返回值。  四、 设置键值RegSetValueEx  RegSetValueEx函数可以设置注册表中键的值,函数原型如下:  LONG RegSetValueEx(  HKEY hKey,  LPCTSTR lpValueName,  DWORD Reserved,  DWORD dwType,  CONST BYTE *lpData,  DWORD cbData  );  各个参数及返回值的含义如下:  ?参数hKey的含义同RegCreateKeyEx函数中的hKey参数。  ?参数lpValueName为一个指向包含值名的字符串指针。  ?Reserved保留,通常必须设置为0。  ?参数dwType确定了设置的值的类型同RegQueryValueKeyEx的lyType参数。  ?参数lpData为一个指向包含数据的缓冲区的指针。  ?参数cbData以字节为单位,指定数据的长度。  ?返回值同RegCreateKeyEx函数的返回值。 

热点排行
Bad Request.