所以,代碼向我咆哮,需要一點幫助。 錯誤:char *與成本BYTE *不兼容。 這是吠叫:RegSetValueExA(hKey, "My App", 0, REG_SZ, buffer, sizeof(buffer));
特別是緩衝區。C++添加到註冊表
錯誤消息(vstudio):Error 3 error C2664: 'RegSetValueExA' : cannot convert parameter 5 from 'char [500]' to 'const BYTE *' {snip}\visual studio 2010\projects\reg\reg\reg.cpp 74
我的代碼(注:stemres =完整路徑的可執行文件,在LPCWSTR,我成功地轉換成char):
HKEY hKey;
RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\CurrentVersion\\Run", 0, KEY_WRITE, &hKey);
// stemres = the executable path
char buffer[500];
wcstombs(buffer,stemres,500);
RegSetValueExA(hKey, "My App", 0, REG_SZ, buffer, sizeof(buffer));
RegCloseKey(hKey);
cout << "Added to registry.";
在哪條線上「吠叫」?請複製並粘貼完整的編譯器輸出。 – 2015-03-31 18:41:26
RegSetValueExA(hKey,「MyApp」,0,REG_SZ,buffer,sizeof(buffer)); 具體而言:緩衝區 – CBMC 2015-03-31 18:42:57