Это часть моего задания.Я знаю, как открывать / читать ключи реестра и создавать значения, но у меня мало вопросов.Мой код:
Вот так я записываю новое значение строки в реестр:
void lCreateKeyOne(HKEY hKey, LPCWSTR lSubKey)
{
WCHAR wcValue[] = TEXT"testvalue";
LONG lNewValue = RegSetValueEx (hKey,
L"MytoolsTestKey",
NULL,
REG_SZ,
(LPBYTE)wcValue,
sizeof(wcValue));
}
Это работает, но я хочу сгенерировать случайную строку и записать ее в ключ реестра.Вот как я генерирую случайную строку:
static const char alphanum[] =
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz";
int stringLength = sizeof(alphanum) - 1;
char genRandom()
{
return alphanum[rand() % stringLength];
}
srand(time(0));
string Str;
for (unsigned int i = 0; i < 20; ++i)
{
Str += genRandom();
}
- Как записать его в качестве ключа реестра?
- как преобразовать строку Str в WCHAR wcValue []?
- Я попытался использовать char вместо wchar, и он пишет китайские иероглифы https://docs.microsoft.com/en-us/windows/desktop/api/winreg/nf-winreg-regsetvalueexa