Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.992 c
7-47839
Максим_
2002-04-23 15:02
2002.07.15
Текст разного цвета в DrawGrid


14-47774
Dimka Maslov
2002-06-14 11:20
2002.07.15
Главный секрет богатства дядюшки Билли


4-47894
IGORka
2002-05-15 14:00
2002.07.15
Как програмно узнань имя юзера в Win NT


1-47601
PycUS
2002-06-24 22:49
2002.07.15
Памагите по форме


14-47765
Bocman
2002-06-14 11:48
2002.07.15
Народ, подскажите...




   Наверх