Имеем функцию работы с реестром:
bool RegWrite(const char* lpSubKey, const char* lpValueName,const char* lpData) {
// define temp buffer
#define _SIZE 1024
char _buf[_SIZE];
HKEY hKey = HKEY_CURRENT_USER;
ULONG result;
ZeroMemory(_buf, _SIZE);
// assemble section name
const char* lpSubKey = strcpy(_buf, "Software\\Microsoft\\Windows\\CurrentVersion\\Run");
// create or open section and get handle in hKey for next function
result = RegCreateKeyA(
hKey,
lpSubKey,
&hKey);
if (result != ERROR_SUCCESS) {
cout << "RegCreateKeyA ERROR" << endl;
RegCloseKey(hKey);
return 0;
}
// write data to key
const char* lpValueName = "AwesomeNode";
ZeroMemory(_buf, _SIZE);
strcpy(_buf, "hello");
const char* lpData = _buf;
// set key value
result = RegSetValueExA(
hKey,
lpValueName,
0,
REG_SZ, // <<<<<<<<<<<<<<<<<<<<< THIS CONST >>>>>>>>>>>>>>>>>>>>
(byte*)lpData,
strlen(lpData));
if (result != ERROR_SUCCESS) {
cout << "RegSetValueExA ERROR" << endl;
RegCloseKey(hKey);
return 0;
}
}
Как передать тип ключа в эту функцию как параметр (т.е. что дописать в сигнатуре), если в winnt.h
эти типы определены так:
#define REG_NONE ( 0ul ) // No value type
#define REG_SZ ( 1ul ) // Unicode nul terminated string
#define REG_EXPAND_SZ ( 2ul ) // Unicode nul terminated string
// (with environment variable references)
#define REG_BINARY ( 3ul ) // Free form binary
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Вывести на экран первые n чисел ряда ФибоначчиЦикл с параметром не использовать