Re: [C#] RegSetValueEx10.03.04 11:56 Число просмотров: 2064 Автор: Den <Денис Т.> Статус: The Elderman Отредактировано 10.03.04 11:58 Количество правок: 1
1. В любую функцию Win32API передаются и возвращаются из нее только значения типа DWORD, обычно это ссылки. Соответственно вторым параметром должна быть не строка, а ссылка на null-terminated строку содержащую имя значения реестра.
2. Если ты передаешь значение типа REG_DWORD, то и последний параметр должен = 4 (4 байта = двойное слово). Соответственно переменная nol должна иметь тип DWORD и содержать значение, которое ты хочешь засунуть в реестр.
DWORD nol = 0;
...
RegOpenKeyEx(HKEY_CURRENT_USER,"[path]",0,KEY_SET_VALUE,&hKey);
RegSetValueEx(hKey,string[x],0,REG_DWORD,&nol,1);
...
Потом открываю ключ с помощью regedit а там:
не правильное значение DWORD... Чё такое? хз...
После установки размера dword в 4 байта всё благополучно заработало :)10.03.04 21:39 Автор: choor Статус: Elderman
1. В любую функцию Win32API передаются и возвращаются из нее только значения типа DWORD, обычно это ссылки. Соответственно вторым параметром должна быть не строка, а ссылка на null-terminated строку содержащую имя значения реестра.
2. Если ты передаешь значение типа REG_DWORD, то и последний параметр должен = 4 (4 байта = двойное слово). Соответственно переменная nol должна иметь тип DWORD и содержать значение, которое ты хочешь засунуть в реестр.
Не знаю как в c# но длина dword'а (последлний параметр)...10.03.04 10:39 Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 10.03.04 10:40 Количество правок: 1