Так пробуй
#include
#include
int main() {
// Получаем путь к исполняемому файлу приложения
wchar_t szPath[MAX_PATH];
GetModuleFileName(NULL, szPath, MAX_PATH);
// Открываем ключ реестра для текущего пользователя в разделе автозагрузки
HKEY hKey;
if (RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_WRITE, &hKey) != ERROR_SUCCESS) {
std::cerr << "Не удалось открыть ключ реестра." << std::endl;
return 1;
}
// Устанавливаем значение для автозагрузки
if (RegSetValueEx(hKey, L"MyKeyboardSoftware", 0, REG_SZ, (LPBYTE)szPath, (wcslen(szPath) + 1) * sizeof(wchar_t)) != ERROR_SUCCESS) {
std::cerr << "Не удалось установить значение в реестре." << std::endl;
RegCloseKey(hKey);
return 1;
}
// Закрываем ключ реестра
RegCloseKey(hKey);
std::wcout << L"Приложение добавлено в автозагрузку." << std::endl;
return 0;
}
#include <windows.h>
#include <iostream>
int main() {
// Получаем путь к исполняемому файлу приложения
char szPath[MAX_PATH];
GetModuleFileName(NULL, szPath, MAX_PATH);
// Открываем ключ реестра для текущего пользователя в разделе автозагрузки
HKEY hKey;
if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\Microsoft\Windows\CurrentVersion\Run"), 0, KEY_WRITE, &hKey) != ERROR_SUCCESS) {
std::cerr << "Не удалось открыть ключ реестра." << std::endl;
return 1;
}
// Устанавливаем значение для автозагрузки
if (RegSetValueEx(hKey, TEXT("MyKeyboardSoftware"), 0, REG_SZ, (LPBYTE)szPath, strlen(szPath) + 1) != ERROR_SUCCESS) {
std::cerr << "Не удалось установить значение в реестре." << std::endl;
RegCloseKey(hKey);
return 1;
}
// Закрываем ключ реестра
RegCloseKey(hKey);
std::cout << "Приложение добавлено в автозагрузку." << std::endl;
return 0;
}
выдает ошибку: Ошибка (активно) E0167 аргумент типа "char *" несовместим с параметром типа "LPWSTR"
что делать??