- Регистрация
- 14 Фев 2007
- Сообщения
- 6,097
- Реакции
- 45
- Баллы
- 0
задуман проект программы - твикера реестра, потребность в расширенных способностях коего возникла в силу отсутствия необходимых возможностей у аналогичных программ. Сделан предварительный набросок алгоритма работы и основных требований:
- подключение к реестру через WMI и WScript (в зависимости от необходимого уровня сложности доступа);
- различные разделы конфигурационных настроек - от простой настройки проводника до административных настроек типа "ваааааау";
- в будущем планируется осуществить поддержку файлов собственного формата для хранения настроек и сохранения их в шаблоны (по мере набора опыта, думаю, это будет не так уж трудно реализуемо);
- в распрекрасном варианте - сетевая работа утилиты.
Хотяяяяя в ходе долгих размышлений об удобстве работы с реестром WScript решено похоронить ввиду крайней простоты (невозможно применение в именах элементов специальных символов навроде слэшэй и ряда других и прочее), WMI хорош, но поиски наиболее рационального способа в конце концов привели к библиотеке advapi.dll. Она дает программе скилл разговаривать с виндами на родном языке - через специализированный API. Это дает возможность при занесении кода работы с API в дискретный модуль использовать функции быстрого доступа к ключам и значениям в бесконечных ветках реестра. Воть частичное описание и объявление функций (может, пригодятся кому):
скоро начну выкладывать скрины и сырцы
На данный момент начата реализация пользовательского гуя и ядра - основы. Потому как с дизайном и художественным оформлением я не особо дружу, то дизайн софтины аскетичен до безобразия.
Отсюда вопрос к форумчанам - какие универсальные средства для оформления гуя можете посоветовать? И что еще конкретно можете предложить к проекту реализации? :/
Было бы приятно послушать советы профессионалов реестра Windows
Спасибо за внимание
- подключение к реестру через WMI и WScript (в зависимости от необходимого уровня сложности доступа);
- различные разделы конфигурационных настроек - от простой настройки проводника до административных настроек типа "ваааааау";
- в будущем планируется осуществить поддержку файлов собственного формата для хранения настроек и сохранения их в шаблоны (по мере набора опыта, думаю, это будет не так уж трудно реализуемо);
- в распрекрасном варианте - сетевая работа утилиты.
Хотяяяяя в ходе долгих размышлений об удобстве работы с реестром WScript решено похоронить ввиду крайней простоты (невозможно применение в именах элементов специальных символов навроде слэшэй и ряда других и прочее), WMI хорош, но поиски наиболее рационального способа в конце концов привели к библиотеке advapi.dll. Она дает программе скилл разговаривать с виндами на родном языке - через специализированный API. Это дает возможность при занесении кода работы с API в дискретный модуль использовать функции быстрого доступа к ключам и значениям в бесконечных ветках реестра. Воть частичное описание и объявление функций (может, пригодятся кому):
Код:
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long
Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Declare Function RegSetValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByRef lpData As Long, ByVal cbData As Long) As Long
Declare Function RegQueryValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByRef lpData As Long, lpcbData As Long) As Long
Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" (ByVal hKey&, ByVal lpClass$, lpcbClass&, ByVal lpReserved&, lpcSubKeys&, lpcbMaxSubKeyLen&, lpcbMaxClassLen&, lpcValues&, lpcbMaxValueNameLen&, lpcbMaxValueLen&, lpcbSecurityDescriptor&, lpftLastWriteTime As Any) As Long
Declare Function RegNotifyChangeKeyValue Lib "advapi32" (ByVal hKey As Long, ByVal bWatchSubTree As Boolean, ByVal dwNotifyFilter As Long, ByVal hEvent As Long, ByVal fAsynchronous As Boolean) As Long
На данный момент начата реализация пользовательского гуя и ядра - основы. Потому как с дизайном и художественным оформлением я не особо дружу, то дизайн софтины аскетичен до безобразия.
Отсюда вопрос к форумчанам - какие универсальные средства для оформления гуя можете посоветовать? И что еще конкретно можете предложить к проекту реализации? :/
Было бы приятно послушать советы профессионалов реестра Windows
Спасибо за внимание



