Текущий архив: 2003.07.07;
Скачать: CL | DM;
Вниз
Ошибка записи в реестр Найти похожие ветки
← →
Delphin (2003-06-23 12:31) [0]If DxCheckBox13.Checked Then
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
WriteString ("MailChecker","ExeName");
CloseKey;
Выдаёт ошибку: Failed to set data for "MailChecker"
Может кто знает, как это устранить?
← →
mrcat (2003-06-23 12:34) [1]If DxCheckBox13.Checked Then
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey( "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
WriteString ("MailChecker","ExeName");
CloseKey;
← →
Anatoly Podgoretsky (2003-06-23 12:37) [2]Точно такую ошибку даст и этот код, хоть он и боле6 правильный, поскольку у него явно нет прав.
Ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
такой же правильный как и
SOFTWARE\Microsoft\Windows\CurrentVersion\Run
← →
mrcat (2003-06-23 13:00) [3]Anatoly Podgoretsky © (23.06.03 12:37)
касательно Win9x ОС, согласен, код в обоих случаях функционально идентичен, но в XP ошибка исчезает приmrcat © (23.06.03 12:34)
← →
Anatoly Podgoretsky (2003-06-23 13:23) [4]Если она исчезает, то ее и в первом случае быть не должно, для системы абсолютно бехразличен набор буковок в имени ключа, в данном случае если такого ключа нет, то он будет создан в разделе HKEY_LOCAL_MACHINE с имменем "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" если конечно права позволяют. Резервированных имен для ключей нет, можно использовать любую совокупность символов, включая национальные.
← →
mrcat (2003-06-23 13:30) [5]Anatoly Podgoretsky © (23.06.03 13:23)
да, всё верно, но:
не работает
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
WriteString ("MailChecker","ExeName");
CloseKey;
end;
работает:
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
WriteString ("MailChecker","ExeName");
CloseKey;
end;
в обоих случаях запускается с правами администратора под WinXP
← →
Anatoly Podgoretsky (2003-06-23 13:39) [6]В первом случае создание нового ключа в голове секции HKEY_LOCAL_MACHINE
Во втором открые уже существующего ключа в той же секции.
Однако разные права нужны. Возможно такое недоступно и администратору без специальной настроки реестра.
Попробуй создать такой ключ: OpenKey("MyKey\SubKey",true)
Получится ли. Да и обязательно с вызовом WriteString ("MailChecker","ExeName");
← →
mrcat (2003-06-23 14:02) [7]мда, не всё коту масленница :)
как и ожидалось:
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey("MyKey\SubKey",true);
WriteString ("MailChecker","ExeName");
CloseKey;
end;
не работает. Эх, какими же правами надо обладать, чтобы писать непосредственно в HKEY_LOCAL_MACHINE?
← →
Gogol (2003-06-23 15:37) [8]А что, если попробовать так, у меня работает и в Win98 и в WinXP:
Reg:= TRegistry.Create;
Reg.Rootkey := HKEY_LOCAL_MACHINE;
if Not Reg.OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", False) then
begin
REG.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
REG.WriteString("MailChecker","ExeName");
end
else
begin
REG.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
REG.WriteString("MailChecker","ExeName");
end;
Удачи
← →
RNZ (2003-06-23 16:33) [9]2 mrcat ©
"Эх, какими же правами надо обладать, чтобы писать непосредственно в HKEY_LOCAL_MACHINE?"
А никакими правами это ты сделать несможешь.
Хивесы
HKEY_LOCAL_MACHINE
HKEY_USERS
являются корневыми и создаются на стадии инсталляции системы,
а остальные подключаются из файлов
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINE\System System, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.sav
HKEY_CURRENT_USER Ntuser.dat, Ntuser.dat.log
HKEY_USERS\.DEFAULT Default, Default.log, Default.sav
в MSDN усе написанно
← →
Gogol (2003-06-23 16:42) [10]ИМХО, Delphin-а это давно не интересует, мы паримся, а он молчит. Как показал ранее никакими особенными правами обладать не нужно. Delphin спит и пора завершать тему
← →
Набережных С. (2003-06-23 19:33) [11]>mrcat © (23.06.03 14:02)
>Эх, какими же правами надо обладать, чтобы писать непосредственно в HKEY_LOCAL_MACHINE?
Запусти regedt32 и в меню безопасность посмотри разрешения.
← →
mrcat (2003-06-24 12:27) [12]>RNZ © (23.06.03 16:33)
спасибо, уже читаю
Страницы: 1 вся ветка
Текущий архив: 2003.07.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.006 c