Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Запись в реестр через 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 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
3-47164
Miss
2002-06-19 07:33
2002.07.15
Запись даты в БД


1-47246
onix
2002-06-28 13:25
2002.07.15
Уважаемые коллеги помогите разобраться с поведением Thread


3-47097
id_privin
2002-06-20 19:55
2002.07.15
Загрузка данных в Oracle


6-47659
программист
2002-05-07 18:29
2002.07.15
Помогите пожалуйста...


14-47758
badbyte
2002-06-11 16:50
2002.07.15
Shareware





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский