@Firewoll

Не записывает в реестр на c++. Что делать?

Здравствуйте друзья, 2 сутки не сплю пытаюсь реализовать на c++ запись в реестр для авто запуска, ниже я вам представлю код,проблема заключается в том, что он не записывает в реестр.
BOOL AutoRunViaRegedit(wchar_t* path) {
	HKEY hKey;

	if (RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL) == ERROR_SUCCESS) {
		RegSetValueEx(hKey, L"Test", 0, REG_SZ, (LPBYTE)path, sizeof(path));

		RegCloseKey(hKey);
	}

	return true;
}
  • Вопрос задан
  • 518 просмотров
Решения вопроса 1
@Firewoll Автор вопроса
Нашёл проблему в 19 студии, над выбирать все платформы,а не 32 битную при сборке, тогда всё работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mindtester
@mindtester
http://iczin.su/hexagram_48
wchar_t* path указатель?
sizeof(path) размер указателя?
ps
чему равен размер указателя?
как определить реальный размер строки?
что делать, если захочется записать не строковые данные?
Ответ написан
Программа компилируется как x86? Если да, а windows x64, то нужно указать в какую ветку реестра писать. Делается это через флаг KEY_WOW64_64KEY.
Подробнее тут: https://docs.microsoft.com/ru-ru/windows/win32/sys...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы