如何取得/修改注册表中REG_MULTI_SZ类型的值? REG_MULTI_SZ 是字符串数组类型我用一般的 RegQueryValueEx 只能得到第一个字符串的值比如 如果绑定了两块网卡在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage的"Bind" 中就有两个号,但我只能取得第一个,怎么才能解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 跳过第一个的结尾符'\0',继续向下读第二个至'\0',REG_MULTI_SZ是以'\0'分隔字符串,以"\0\0"做为结尾的. 用RegQueryValueEx读REG_MULTI_SZ 怎么跳过第一个的结尾符'\0'呢?是设置RegQueryValueEx的参数吗?我现在用的参数如下:DWORD lpType=REG_MULTI_SZ;LPBYTE lpData=new BYTE[200];DWORD lpcbData=200;long ret0=::RegQueryValueEx(hKey, "Bind", NULL, lpType, lpData, lpcbData ); 如果不改变参数,读出来的就只是第一个字符串,如何才能跳过结尾符'\0'呢?还请大侠明示 把指针向后移一位就是了:DWORD lpType=REG_MULTI_SZ;LPBYTE lpData=new BYTE[200];DWORD lpcbData=200;long ret0=::RegQueryValueEx(hKey, "Bind", NULL, lpType, lpData, lpcbData );LPTSTR ptr=(LPTSTR)lpDataTCHAR szCard[2][MAX_PATH];for (int i=0;i<2;i++){ lstrcpy(szCard[i],ptr); ptr+=lstrlen(ptr)+1;}(以上程序未经测试,使用者后果自负,作者保留所有版权)。 请教大侠:如何在ie的internet选项里加个提示? 散分1,正在追MM,求祝福 雷达扫描余辉的实现 MFC中使用C文件报错 已注册控件怎么知道它的路径 程序多线程化的一个简单入门问题 CMap保存的的内容怎样使全局有效? 如何修改HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root权限呢? 怎样创建线程,在线等待,马上揭帖 一个网络问题 我用向导生成了一个单文档程序,当窗口小于一定大小时就有滚动条出现,现想去掉滚动条,请问大侠该怎么做? 怎样写WINDOWS服务程序?!
LPBYTE lpData=new BYTE[200];
DWORD lpcbData=200;long ret0=::RegQueryValueEx
(hKey,
"Bind",
NULL,
lpType,
lpData,
lpcbData
);
如果不改变参数,读出来的就只是第一个字符串,如何才能跳过结尾符'\0'呢?
还请大侠明示
DWORD lpType=REG_MULTI_SZ;
LPBYTE lpData=new BYTE[200];
DWORD lpcbData=200;long ret0=::RegQueryValueEx
(hKey,
"Bind",
NULL,
lpType,
lpData,
lpcbData
);LPTSTR ptr=(LPTSTR)lpData
TCHAR szCard[2][MAX_PATH];
for (int i=0;i<2;i++)
{
lstrcpy(szCard[i],ptr);
ptr+=lstrlen(ptr)+1;
}
(以上程序未经测试,使用者后果自负,作者保留所有版权)。