Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
3-47176
BizonWar
2002-06-17 18:00
2002.07.15
Нужно преслать данные из Paradox в SQL Server


3-47194
ioRaptor
2002-06-19 13:00
2002.07.15
Создание файла базы данных InterBase


1-47427
Barmaglot
2002-07-03 09:59
2002.07.15
...Забыл алгоритм взаимодействия ComboBox и Edit ...


1-47546
Ricks
2002-06-28 01:12
2002.07.15
Visual styles


3-47218
Я_Чайник
2002-06-20 06:10
2002.07.15
Дополнить таблицу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский