FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Работа с реестром

Участников: 2

Перейти вниз

Работа с реестром Empty Работа с реестром

Сообщение  valdimir Вс Янв 18, 2015 10:38 am

Подскажите, как записывать, читать и удалять ключи (параметры) в реестре. Есть библиотека "winreg.bi", но не поняно как ей пользоваться. В библиотеке "Window9" тоже таких функций не нашёл.

valdimir

Сообщения : 44
Дата регистрации : 2008-10-11
Откуда : Калининградская обл.

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  trew Вс Янв 18, 2015 11:45 am

valdimir пишет:Подскажите, как записывать, читать и удалять ключи (параметры) в реестре. Есть библиотека "winreg.bi", но не поняно как ей пользоваться. В библиотеке "Window9" тоже таких функций не нашёл.

Для чтения и записи здесь: http://free-basic.ru/project.html (Подзаголовок Реестр)

Для удаления эта функция : http://w32api.narod.ru/functions/RegDeleteKey.html

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  valdimir Вс Янв 18, 2015 8:33 pm

ссылку "free-basic.ru/project.html" видел, опробовал, но работает она как-то кривовато: в текстовом значении появлются лишние точки в конце "..."

Название функции "RegDeleteKey" нашел в файле "winreg.bi", но не разобрался как применить. Ссылка "w32api.narod.ru/functions/RegDeleteKey.html" не особо помогла. Может есть где-нибудь примеры использования?

valdimir

Сообщения : 44
Дата регистрации : 2008-10-11
Откуда : Калининградская обл.

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  trew Пн Янв 19, 2015 8:53 am

valdimir пишет:ссылку "free-basic.ru/project.html" видел, опробовал, но работает она как-то кривовато: в текстовом значении появлются лишние точки в конце "..."

И что? Это свойство редактора REGEDIT. Щелкни по параметру в редакторе, ты увидишь там параметр без точек. Или проверь так:

Код:
? Len(ReadRegistry(HKEY_CURRENT_USER,regpath,keyname)), ReadRegistry(HKEY_CURRENT_USER,regpath,keyname)

Ты увидишь, что строка состоит из 2 символов и возвращается то, что нужно.

valdimir пишет:Название функции "RegDeleteKey" нашел в файле "winreg.bi", но не разобрался как применить. Ссылка "w32api.narod.ru/functions/RegDeleteKey.html" не особо помогла. Может есть где-нибудь примеры использования?

Для Удаления всей ветки, после использования примера, запусти этот код и посмотри в реестр, не забывая после этого обновить его (F5):

Код:
#INCLUDE "windows.bi"
RegDeleteKey(HKEY_CURRENT_USER,"SOFTWARE\MySoftwareCompany")

Для удаления параметра, после использования примера, запусти этот код,  не забывая после этого обновить его (F5):

Код:
#INCLUDE "windows.bi"
Declare function RegDeleteKeyValue alias "RegDeleteKeyValueA" (byval as HKEY, byval as LPCSTR,byval as LPCSTR) as LONG
RegDeleteKeyValue(HKEY_CURRENT_USER,"SOFTWARE\MySoftwareCompany","MyEntry")

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  valdimir Пн Янв 19, 2015 4:59 pm

Всё же консольная команда REG ADD добавляет без всяких точек. При запросе параметра точек действительно нет, видимо редактор REGEDIT исправлят это дело. Ну да ладно, это мелочи. а вот пример с удалением параметра RegDeleteKeyValue не работает. Выдаёт ошибку входа в процедуру RegDeleteKeyValueA не найдена в библиотеке dll. Второй пример не тестировал, больше интересует удаление параметра.

valdimir

Сообщения : 44
Дата регистрации : 2008-10-11
Откуда : Калининградская обл.

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  trew Пн Янв 19, 2015 6:58 pm

valdimir пишет:Всё же консольная команда REG ADD добавляет без всяких точек. При запросе параметра точек действительно нет, видимо редактор REGEDIT исправлят это дело. Ну да ладно, это мелочи. а вот пример с удалением параметра RegDeleteKeyValue не работает. Выдаёт ошибку входа в процедуру RegDeleteKeyValueA не найдена в библиотеке dll. Второй пример не тестировал, больше интересует удаление параметра.

А ну да, эта команда работает , начиная с windows vista

Тогда так:

Код:
#Include "windows.bi"

Dim As HKEY hKey
Dim As Long lReturn = RegOpenKeyEx( HKEY_CURRENT_USER,_
                            ("SOFTWARE\MySoftwareCompany"),_
                            0,_
                            KEY_ALL_ACCESS,_
                            @hKey )
lReturn = RegDeleteValue(hKey,@"MyEntry")
lReturn = RegCloseKey(hKey)

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Вернуться к началу Перейти вниз

Работа с реестром Empty Re: Работа с реестром

Сообщение  valdimir Пн Янв 19, 2015 8:49 pm

Спасибо, так работает.

valdimir

Сообщения : 44
Дата регистрации : 2008-10-11
Откуда : Калининградская обл.

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения