Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

Ошибка записи в реестр   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
14-20241
Домарощинер
2003-06-19 17:11
2003.07.07
Market


9-19942
[Baradoo]
2003-01-21 21:26
2003.07.07
Небольшая полезная тема (для знатаков OpenGl)


3-20004
Солер
2003-06-11 13:58
2003.07.07
Помогите с запросом


14-20313
Вутшы
2003-06-21 11:16
2003.07.07
Как бы мне структуру связей посмотреть?


14-20287
gn
2003-06-20 11:10
2003.07.07
ftp server





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