Ошибка создания ключа реестра

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»
Может кто знает, как это устранить?

If DxCheckBox13.Checked Then
With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey( «SOFTWARE\Microsoft\Windows\CurrentVersion\Run«,true);
WriteString («MailChecker»,»ExeName»);
CloseKey;

Точно такую ошибку даст и этот код, хоть он и боле6 правильный, поскольку у него явно нет прав.

Ключ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
такой же правильный как и
SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Если она исчезает, то ее и в первом случае быть не должно, для системы абсолютно бехразличен набор буковок в имени ключа, в данном случае если такого ключа нет, то он будет создан в разделе HKEY_LOCAL_MACHINE с имменем «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run» если конечно права позволяют. Резервированных имен для ключей нет, можно использовать любую совокупность символов, включая национальные.

не работает
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

В первом случае создание нового ключа в голове секции HKEY_LOCAL_MACHINE
Во втором открые уже существующего ключа в той же секции.

Однако разные права нужны. Возможно такое недоступно и администратору без специальной настроки реестра.
Попробуй создать такой ключ: OpenKey(«MyKey\SubKey»,true)
Получится ли. Да и обязательно с вызовом WriteString («MailChecker»,»ExeName»);

мда, не всё коту масленница 🙂
как и ожидалось:

With TRegistry.Create do begin
Rootkey := HKEY_LOCAL_MACHINE;
OpenKey(«MyKey\SubKey»,true);
WriteString («MailChecker»,»ExeName»);
CloseKey;
end;

не работает. Эх, какими же правами надо обладать, чтобы писать непосредственно в HKEY_LOCAL_MACHINE?

А что, если попробовать так, у меня работает и в 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;

в MSDN усе написанно

ИМХО, Delphin-а это давно не интересует, мы паримся, а он молчит. Как показал ранее никакими особенными правами обладать не нужно. Delphin спит и пора завершать тему

Запусти regedt32 и в меню безопасность посмотри разрешения.

АРМ генерации ключей необходим для создания ключей ЭЦП (например для подключения к Электронному бюджету). В этой статье рассмотрена как установка ПО АРМ генерации ключей так и решение встречающихся проблем.

Последнюю версию программы АРМ генерации ключей (1.0.0.44n) можно скачать по этой ссылке: http://sedkazna.ru/download/prg/ARM_ECP_1_0_0_44n.zip

Установка АРМ Генерации ключей

  • Запустить установочный файл setup.exe

  • Путь установки программы оставьте по умолчанию.

  • Нажмите Далее для продолжения установки

Установка АРМ генерации ключей завершена.

Ошибка Exception EOleSysError in module vd50.bpl at 0001A239. Ошибка при обращении к реестру OLE.

Очень часто появляется ошибка Exception EOleSysError in module vd50.bpl at 0001A239. Все из-за того, что программа разработана для Windows XP, а в Windows 7, 8, 10, ее необходимо запускать в режиме совместимости.

Решение проблемы (Ошибка Exception EOleSysError in module vd50.bpl at 0001A239. Ошибка при обращении к реестру OLE.):

  • Запустить cmd от имени Администратора
  • Выполнить: regsvr32 C:\FkClnt1\SYSTEM\midas.dll
  • Перегрузить компьютер и запустить программу.

Решение 2 (Ошибка Exception EOleSysError in module vd50.bpl at 0001A239. Ошибка при обращении к реестру OLE.)

  1. Войти в папку C:\FkClnt1 далее в папку EXE;
  2. На файле cbank.exe правой кнопкой мыши выбрать Свойство.
  3. Во вкладке «Совместимость» , поставить галку и выбрать совместимость с Windows XP (SP2).

Установка АРМ генерации ключей в Windows 10 ни чем не отличается от обычной установки описанной выше, но после установки программа просто не запускается.

Чтобы запустить программный комплекс АРМ генерации ключей в Windows 10 после установки необходимо:

Услышав словосочетание “системный реестр”, тут же представляешь громоздкую конструкцию, состоящую из множества непонятных папок и параметров. Отчасти это так, но если разобраться, то ничего сложного в них нет.

Редактор реестра Windows.

Чтобы открыть редактор реестра, зайдите в меню “Пуск” -> “Выполнить”, далее в открывшемся окне введите команду regedit и нажмите “ОК”. Перед вами появится окно (Редактор реестра), в котором содержатся пять папок:

• HKEY_CLASSES_ROOT (здесь находится информация о настройках интерфейса),
• HKEY_CURRENT_USER (данные о настройках текущего пользователя),
• HKEY_LOCAL_MACHINE (включает информацию о конфигурации компьютера и об установленном программном обеспечении),
• HKEY_USERS (здесь собраны данные обо всех пользователях Windows),
• HKEY_CURRENT_CONFIG (содержит информацию о настройках оборудования, которое используется в текущем сеансе работы).

Значения ключей реестра Windows.

Открыв любую из папок, вы увидите ветвь, в которой содержатся новые папки, где расположены данные с параметрами. Последние, в свою очередь, представлены разными типами данных. Одни из самых распространенных:

• REG_DWORD — целое число, обычно служит как переключатель, где 0 — выключено, а 1, соответственно, включено.
• REG_SZ — текстовая строка.
• REG_BINARY — двоичные данные (такой тип данных используется для хранения сведений об аппаратных устройствах).

Осторожность при работе с реестром Windows.

Реестр Windows устроен таким образом, что при удалении, внесении или изменении какой-либо информации компьютер моментально выполняет данную операцию, без запроса подтверждения. Поэтому следите за каждым своим действием, чтобы в случае экстренной ситуации вы смогли вспомнить, что делали и что изменяли. Для ощущения полной безопасности рекомендуется перед началом работы сделать резервную копию реестра.

Сохранение копии реестра Windows.

В “Редакторе реестра” кликните правой кнопкой мыши по значку “Мой компьютер” и в появившемся меню выберите “Экспортировать”, а затем папку назначения. Все, копия создана. В случае неполадок с системой, связанных с некорректным изменением в реестре, достаточно дважды кликнуть по сохраненному файлу и добавить имеющуюся в нем информацию в реестр.

Если вы хотите отключить какую-либо функцию (работает с типом DWORD), то значение 1 нужно заменить на 0. Чтобы изменения, внесенные в реестр, вступили в силу, необходимо перезагрузить компьютер.

Редактирование реестра Windows.

Вы когда-нибудь пробовали переименовать “Корзину”? Если да, то уже знаете, что сделать это обычным способом невозможно и после перезапуска системы первоначальное название — “Корзина” — все равно останется.

В “Редакторе реестра” откройте HKEY_CLASSES_ROOT\CLSID\ <645FF040-5081-101B-9F08-00AA002F954E>и, дважды кликнув по параметру “LocalizedString”, в поле редактирования введите требуемое название, например “Мусор”.

При создании ярлыка на новой иконке появляется стрелка, которая зачастую сильно действует на нервы.

Чтобы убрать ее, откройте HKEY_CLASSES_ROOT\lnkfile и удалите строковый параметр “IsShortcut”.

Некоторые пункты меню “Пуск” настолько редко используются, что их можно спокойно оттуда убрать. Например, подменю Недавние документы. Кстати, убрав этот пункт, вы тем самым скроете от любопытных глаз информацию об открывавшихся файлах и картинках.

Для этого зайдите в папку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer и создайте параметр типа DWORD с названием “NoRecentDocsMenu”, присвоив ему значение “1″.
Кстати, в любом месте реестра, где вы хотите отключить какую-либо функцию (работает с типом DWORD), значение “1″ нужно заменить на “0″ (чтобы изменения, внесенные в реестр, вступили в силу, необходимо перезагрузить компьютер).

Если помимо вас за компьютером работает кто-то еще и вы опасаетесь, что этот кто-то может случайно удалить нужную программу, имеет смысл из “Панели управления” убрать вкладку “Установка и удаление программ”.

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies создаем подраздел “Uninstall”, и уже в нем создаем параметр типа DWORD c названием “NoAddRemovePrograms” и присваиваем ему значение “1″.

Если вы часто набираете на компьютере тексты, то наверняка не раз случайно нажимали на клавиатуре клавишу “Windows”, после чего приходилось прерывать работу, поскольку на мониторе появлялось меню “Пуск” или открывалось окно какой-нибудь программы (если вместе с “Windows” была нажата еще какая-то клавиша). Так вот клавишу “Windows” можно отключить совсем.

Для этого в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout создайте двоичный параметр “Scancode Map” и задайте ему значение “00 00 00 00 00 00 00 00 03 00 00 00 00 00 5B E0 00 00 5C E0 00 00 00 00″. Теперь кнопка “Windows” отключена и при нажатии на нее ничего не будет происходить.

Есть еще один вариант отключения клавиши “Windows”, а точнее — ее отключение только в сочетании с другими клавишами. В случае нажатия только на кнопку меню “Пуск” будет появляться.

Зайдите в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, создайте параметр типа DWORD с названием “NoWinKeys” и присвойте ему значение “1″. Чтобы в дальнейшем вернуть все в исходное состояние, достаточно удалить из реестра параметр “NoWinKeys” или присвоить ему значение “0″.

Все перечисленные выше изменения составляют лишь вершину айсберга и являются наглядными примерами того, что и как можно изменить в системе, не прибегая к сторонним программам. Конечно, работать с реестром нужно аккуратно, но если вы сделали копию его начального варианта, то бояться нечего. И помните, что все изменения, которые были внесены в реестр, вступят в силу только после перезагрузки компьютера.

Очистка реестра Windows.

Для ускорения работы компьютера рекомендуется чистить реестр не реже одного раза в месяц. После такой процедуры удаляются ненужные больше ключи и параметры, которые тормозят работу системы.

Например, даже после полного удаления игры в реестре остаются записи о ней. Теперь представьте, что за всю компьютерную жизнь было установлено и удалено более сотни игр и программ, а то и более. Естественно, хорошего от этого мало.
Для очистки реестра Windows можно воспользоваться специализированными утилитами

Спасибо за инфу! Но опишите пожалуйста как удалить стрелки с ярлыков в Windows Vista, так как у меня, например, нет в HKEY CLASSES ROOT такого параметра как Inkfile.

Что такое реестр.

Настройка аудита реестра.

Если аудит не был включен ранее в групповой политике, то его нужно включить перед настройкой аудита ключей реестра.
Для этого откройте локальную политику при помощи Пуск — Выполнить — gpedit.msc

Разверните слева дерево папок так, как показано на рисунке 1, т.е. Конфигурация компьютера — Конфигурация Windows — Параметры безопасности — Локальные политики — Политика аудита. В правом окне дважды щелкните по параметру Аудит доступа к объектам и в открывшемся окне поставьте галку у пункта Успех. После нажатия ОК в окне, показанном на рисунке 1, напротив параметра Аудит доступа к объектам, в графе Локальный параметр появится значение Успех. Это говорит о том, что в данный момент в политике включен аудит успехов доступа к объектам. Но политика еще не распространена и не действует. Чтобы распространить (применить) измененную политику безопасности откройте командную строку (Пуск — Выполнить — cmd) и выполните команду

secedit /refreshpolicy MACHINE_POLICY

В ответ будет выведено сообщение о том, что запущен процесс распространения групповой политики.
Закройте окно Групповая политика, показанное на рисунке 1 и откройте его вновь, переместившись до раздела с настройками аудита, так, как это было описано выше. Если политика успешно применена, то напротив параметра Аудит доступа к объектам в графе Действующий параметр будет написано то же, что и в графе Локальный параметр. Это говорит о том, что аудит включен и политика применена

Теперь настроим аудит конкретного ключа в реестре. К примеру, пусть это будет HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run. Откроем редактор реестра regedt32 (WIndows 2000) или regedit (Windows XP). Пройдем по дереву реестра до ключа, аудит которого необходимо настроить и выделим его. В меню Безопасность редактора реестра выберем пункт Разрешения. В открывшемся окне нажмем кнопку Дополнительно и переключимся на вкладку Аудит.

Нажмите кнопку Добавить и выберите группу Все двойным кликом. В открывшемся окне отметьте галками только те пункты, которые соответствуют интересующим событиям. К примеру, я поставил аудит только на успешное задание значения. Нажмите ОК три раза до возврата в окно редактора реестра. Аудит настроен. Чтобы проверить его работу создадим текстовый файл со следующим содержанием:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run]
«test»=»»

Сохраните файл под именем test.reg, например. В диалоговом окне сохранения файла выберите Тип файла: Все файлы, иначе редактор присвоит файлу расширение txt. Этот файл предназначен для создания в реестре по указанному пути параметра test с пустым значением, что видно из содержимого файла. Запустите полученный файл. Если все сделано правильно, то будет выдан запрос на добавление данных в реестр

Ответьте Да, после чего будет выдано подтверждение о том, что информация успешно добавлена.
Теперь откройте консоль Управление компьютером. Для этого щелкните правой кнопкой мыши по значку Мой компьютер и выберите Управление. В открывшемся окне перейдите в журнал Безопасность

Обратите внимание на выделенную записи с кодом 560. Это и есть уведомление о том, что с ключем реестра произошло событие на которое настроен аудит.
Таким образом, можно настроить аудит на любые события и анализировать их при помощи журнала Безопасности системы.

Настройка прав на доступ к ключам реестра.

Чтобы обеспечить безопасность разделов реестра воспользуйтесь настройкой разрешений при помощи regedt32 (Windows 2000) или при помощи regedit (Windows XP).
Для примера рассмотрим ограничение доступа к ключу HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run.
Будьте осторожны и помните о том, что разрешения наследуются, т.е. разрешения, заданные для раздела, будут распространены вниз, на подразделы и параметры.
Откройте редактор реестра и выделите ключ, разрешения на который планируется настроить. В нашем случае это HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run.

Выберите Безопасность — Разрешения и нажмите кнопку Дополнительно.

Выделите в списке имя того пользователя, которому необходимо ограничить права и нажмите кнопку Показать/Изменить. Для примера я запретил себе в указанном выше разделе Задания значений.

После нажатия кнопки ОК в окно, добавился новый элемент.

Намите ОК два раза до возврата в окно редактора реестра. Новое разрешение задано.
Чтобы проверить, работает ли созданное ограничение, создадим reg-файл следующего содержания:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run]
«test»=»»

После положительного ответа на этот запрос будет выдано следующее сообщение:
«Не удалось импортировать «С:\МОИДОК

1\test.reg». Не все данные были записаны в реестр. Некоторые разделы были заняты системой или другими процессами».

Таким образом, настроенный запрет на добавление информации в определенный ключ реестра работает.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.