#include void SystemWriteRegistry(void) { HKEY hKey; DWORD dwPosition; char str[] = "StringValue"; DWORD dwordValue = 100; char strArray[3][2] = {"1", "2", "3"}; byte byteArray[] = {0, 1, 2}; char esValue[] = "%windir%"; DWORD qwordValue = 1000; RegCreateKeyEx( HKEY_CURRENT_USER, "Software\\test2\\sub", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwPosition); RegSetValueEx( hKey, "string", 0, REG_SZ, (CONST BYTE*)(LPCTSTR)str, (int)sizeof(str) ); RegSetValueEx( hKey, "int", 0, REG_DWORD, (CONST BYTE *)&dwordValue, (int)sizeof(dwordValue) ); RegSetValueEx( hKey, "StringArray", 0, REG_MULTI_SZ, (CONST BYTE *)(LPCTSTR)strArray, (int)sizeof(strArray) ); RegSetValueEx( hKey, "Bytes", 0, REG_BINARY, byteArray, sizeof(byteArray) ); RegSetValueEx( hKey, "ExpandString", 0, REG_EXPAND_SZ, (CONST BYTE *)&esValue, (int)sizeof(esValue) ); RegSetValueEx( hKey, "QWord", 0, REG_QWORD, (CONST BYTE *)&qwordValue, (int)sizeof(qwordValue) ); RegCloseKey(hKey); } int main(void) { SystemWriteRegistry(); return 0; }