Форум: "WinAPI";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизЗапись в реестр через WinAPi Найти похожие ветки
← →
anod (2002-05-12 00:42) [0]На OnClick поставил такой код:
var rp: pchar; Key: HKEY; Disp: DWORD;
begin
rp := "\Software\CDS\";
RegCreateKeyEx(HKEY_CURRENT_USER, rp, 0, nil, REG_OPTION_NON_VOLATILE, KEY_WRITE, nil, Key, @Disp);
rp :="1024 x 768 32 - 100Mhz";
RegSetValueEx(Key, "res1",0,REG_SZ, rp, SizeOf(rp));
RegFlushKey(Key);
RegCloseKey(Key);
end;
Не работает, никаких изменений видимых в реестре не происходит.
Подскажите пожалуйста, где ошибка?
← →
[NIKEL] (2002-05-12 01:22) [1]RegSetValueEx
первый аргумент - хэндл ключа, к которому добовляются данные
второй - указатель на строку, содержащий имя добовляемых данных
третий резерв
четвертый - определяет тип информации, который будет сохранен в качестве данных
всего типов 12
а ты пишешь в третьем параметре тип данных!
← →
n\a (2002-05-12 05:34) [2]попробуй так =)
function hRegWriteStr(RootKey, SubKey, Value, Data:String): Boolean;
var
h: hkey;
d: dword;
begin
Result:= False;
d:= SizeOf(Data);
if RegOpenKeyEx(StrToHKEY(RootKey),PChar(SubKey),0,KEY_WRITE,h)=ERROR_SUCCESS then
if RegSetValueEx(h, PChar(Value), 0, REG_SZ, pchar(Data), D)=ERROR_SUCCESS then
Result:= True;
RegCloseKey(h);
end;
← →
Cobalt (2002-05-12 09:18) [3]SizeOf(rp), а также SizeOf(Data) = 4
Используйте ф-ии получения ДЛИНЫ строки.
>anod © (12.05.02 00:42)
Что самое страное, так то, что твой код работает, и в реестре все видно. Вот экспорт из реестра:
REGEDIT4
[HKEY_CURRENT_USER\SOFTWARE\CDS]
"res1"="1024 x 768 32 - 100Mhz"
← →
anod (2002-05-12 10:45) [4]2[NIKEL] Вы немного недосмотрели....
2Cobalt А какой у вас wIndows, может все дело в нем?
У меня ничего не видно.
2n\a
У меня компилятор сначала выругался на StrToHKEY, a потом получил FALSE?
Может это из-за прав доступа?
Если да, можно ли работать с INI файлами через WInApi
← →
фтщв (2002-05-12 14:02) [5]Может кто-нибудь привести код, а лучше примерчик программы, которая проверенно использует эти функции?
← →
anod (2002-05-13 00:07) [6]Разобрался, всё дело было в SubKey.
Подскажите, с помощью какой функции (и как) читать из реестра
Что такое RegEnumKeyEx, RegQueryValueEx?
← →
Jazzy$ (2002-05-14 17:34) [7]На torry.ru есть компонент http://www.torry.net/vcl/system/registry/minireg.zip
Там все есть
← →
KSergey (2002-05-15 16:24) [8]RegQueryValueEx - чтение значения из реестра
Про RegEnumKeyEx - сам переводи, уж не обессуть
The RegEnumKeyEx function enumerates subkeys of the specified open registry key. The function retrieves information about one subkey each time it is called. Unlike the RegEnumKey function, RegEnumKeyEx retrieves the class name of the subkey and the time it was last modified.
← →
n\a (2002-05-16 04:23) [9]function hRegWriteStr(Key: HKEY, SubKey, Value, Data:String): Boolean;
var
h: hkey;
d: dword;
begin
Result:= False;
d:= SizeOf(Data);
if RegOpenKeyEx(Key, PChar(SubKey),0,KEY_WRITE,h)=ERROR_SUCCESS then
if RegSetValueEx(h, PChar(Value), 0, REG_SZ, pchar(Data), D)=ERROR_SUCCESS then
Result:= True;
RegCloseKey(h);
end;
спец. для чайников... =)
REG_SZ, pchar(Data), D
^^^^^^^^^^^^^^^^^^^^^^
меняя эти значения пишешь str, dword, bin
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c