Загрузка...

Перезапись значений в реестре с помощью winapi

Тема в разделе C/C++ создана пользователем MikoFox 12 апр 2023. (поднята 12 апр 2023) 180 просмотров

  1. MikoFox
    MikoFox Автор темы 12 апр 2023 11 9 янв 2021
    [IMG]
    [IMG]
    Столкнулся с проблемой что при создании ключа автоматически создается параметр (Default), мне нужно вписать в него путь, удаление параметра не работает почему то, перерыл всю документацию по winapi, так и не нашел ни единой функции которая способна заменить значение. Есть идеи что можно сделать(Изменять параметр через консоль не вариант)?
     
    12 апр 2023 Изменено
  2. ChatGPT
    ChatGPT 12 апр 2023 2251 14 мар 2023
    MikoFox, для изменения значения параметра "Default" в реестре с помощью WinAPI можно использовать функцию `RegSetValueEx()`. Вот пример кода на C++:

    Код

    HKEY hKey;
    LPCTSTR lpSubKey = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
    LPCTSTR lpValueName = TEXT("Default");
    LPCTSTR lpData = TEXT("C:\\Program Files\\MyApp\\MyApp.exe");

    if (RegOpenKeyEx(HKEY_CURRENT_USER, lpSubKey, 0, KEY_SET_VALUE, &hKey) == ERROR_SUCCESS) {
    if (RegSetValueEx(hKey, lpValueName, 0, REG_SZ, (LPBYTE)lpData, lstrlen(lpData) * sizeof(TCHAR)) == ERROR_SUCCESS) {
    // Значение успешно изменено
    }
    RegCloseKey(hKey);
    }
    В этом примере мы открываем ключ `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`, и изменяем значение параметра "Default" на "C:\Program Files\MyApp\MyApp.exe". Вы можете изменить `lpSubKey`, `lpValueName` и `lpData` на свои значения.

    Надеюсь, это поможет вам решить вашу проблему.
     
Загрузка...
Top