又问,注册表问题(懂注册表的请进)
例如,我想在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network
下创建一个二进制串值"HideSharePwds",
问题是怎么把此键值对应的数据写为"00 00 00 00",请大虾举个例子。
怎么用WriteBinaryData() 这个函数,bcb附带的帮助没有举例子,只好拜托各位大虾了!
问题点数:50、回复次数:3Top
1 楼mygodness(狂风)回复于 2002-06-02 19:44:31 得分 10
void __fastcall WriteBinaryData(const AnsiString Name, void *Buffer, int BufSize);
Name:键名
Buffer:要存的字符串的存储区
Bufsize;是存储区域的大小
我没有试过,应该这样写,没有问题
int i;
i=567;
AnsiString bistring;
bistring=IntToHex(i,2);
WriteBinaryDate(HideSharePwds,bistring.c_str(),bistring.Length());
问题是二进制字符串,它也是字符串,你应该主要是要生成二进制字符串,用IntToHex吧,它应该可以做到。Top
2 楼SSTS(铁冰)回复于 2002-06-02 20:50:22 得分 30
void RegWriteNumber()
{
HKEY HKey;
DWORD ulData=201314;//数字
::RegOpenKeyEx(HKEY_LOCAL_MACHINE,
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Network"),
0,
KEY_ALL_ACCESS,
&HKey);
::RegSetValueEx(HKey,
TEXT("HideSharePwds"),
0,
REG_DWORD,
(LPBYTE)&ulData,
sizeof(DWORD));
::RegCloseKey(HKey);
}Top
3 楼SSTS(铁冰)回复于 2002-06-02 20:51:15 得分 10
DWORD ulData=201314;改为DWORD ulData=0;Top




