PDA

Показать полную графическую версию : создание и удаление параметров реестра по клику на чекбоксы


vzli_izv
29-12-2011, 22:10
Имеем: строковые параметры реестра (http://qwers.com/Poleznie-soveti-dlja-Windows7/Reestr/reedopfun22.htm) (таблица в конце страницы)

При запуске программы создать ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl (если она уже есть - ничего не делать)
Нужно: иметь чекбоксы с названиями аплетов. (или что-то, что позвjляло)
Действие по установке галочки - записать строку в реестр.
Действие по снятии галочки - удалить строку.

Теперь болтовня ))
Как вы поняли, хочется по клику на чекбоксе записать строковой параметр в ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl
с значением, соответствующим какому то аплету панели управления, для его сокрытия\показа. Примерно как показать\спрятать скрытые папки и файлы в проводнике, но в Панели управления.

как ПРОЩЕ ВСЕГО реализовать это?
Реализовывать это в .bat не удобно.
Много аплетов, на каждый надо вешать 3 клавиши (для [1] записи, [2] удаления и [3] пропуск).
Нет доступа ко всем аплетам сразу, только по мере пропуска ненужных можно добраться до нужных.
Конечно можно на один аплет сделать 2 .batка: первый записывает в реестр, второй удаляет и так на каждый аплет, а потом их запихать в какой нибудь PortableApps, RunMe и другой оболочке для запуска программ. Это для удобства работы с таким кол-вом файлов.

Попробовал программу Алгоритм (http://www.algoritm2.ru/). Не понравилось.
Делфи тяжеловато будет вспомнить.

Есть ли ещё варианты, может я упустил чего из возможностей?

neo21
30-12-2011, 01:05
Можно сделать в Visual Basic 2010
http://i.piccy.info/i7/6601ef0a7cd59abde0b61e5d6528ef71/1-5-3222/29923367/reestr.jpg

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
My.Computer.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl")

MsgBox("Раздел создан")
End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
My.Computer.Registry.CurrentUser.DeleteSubKey(
"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl")

MsgBox("Раздел удален")
End Sub


End Class

Кнопка запись -записывает раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl, кнопка удаление - удаляет раздел

ferget
30-12-2011, 02:14
neo21, вообще-то требуется изменить значение в разделе, а не сам раздел

но учитывая
Делфи тяжеловато будет вспомнить. »
bat-файлы, в данном случае, лучший вариант

neo21
30-12-2011, 02:37
ferget, В VB это тоже не сложно сделать
Типичные операции с реестром (Visual Basic) (http://msdn.microsoft.com/ru-ru/library/x61a1z4s.aspx)
Задание значений:
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl",
"Параметр", "Значение")

vzli_izv
30-12-2011, 10:04
добавляю так
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl" /v "1" /t REG_SZ /d "Брандмауэр Windows" /f >nul

а как удалить этот REG_SZ "1" "Брандмауэр Windows" без удаления раздела HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl ?


хы...ток написал и тут же ответ нашёл ))
reg.exe delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl" /v "1" /f
_____________________________________________________________

мде...очень всё не удобно получается...жаль не знаю Visual Basic
так бы я сделал ListBox с показом всех файлов в каталоге программы и по клику на названии просто запускал бы.
может кто сварганит такой запускатор? Form1+ListBox (с показом файлов в каталоге программы ) и кнопка удалить весь раздел
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl

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

Iska
30-12-2011, 14:01
vzli_izv, вообще-то данная программа уже давно существует. Существует она ещё со времён Windows 9x. В NT-версиях называется «Редактором групповой политики» (оснастка «gpedit.msc» — для локальной машины), например:

Использование редактора групповой политики для управления политикой локальных компьютеров в Windows XP (http://support.microsoft.com/kb/307882/ru)
Параметры групповой политики для панели управления (http://technet.microsoft.com/ru-ru/library/ee617167(WS.10).aspx)
Executing Control Panel Items (http://msdn.microsoft.com/ru-RU/library/cc144191(VS.85).aspx)
Панели управления Windows - кто тут главный? - № 04, 2003 | «Мир ПК» | Издательство «Открытые системы» (http://www.osp.ru/pcworld/2003/04/165538/)

Если Вам покажется неудобным добавлять «ручками» канонические имена/имена модулей элементов панели управления — ничто не мешает написать и распространять свой собственный шаблон с уже готовыми списками имён. Детали создания собственного шаблона зависят от того, под какой ОС Вы планируете применять его.

neo21
30-12-2011, 20:26
может кто сварганит такой запускатор? Form1+ListBox (с показом файлов в каталоге программы ) »
http://i.piccy.info/i7/9562e2adbba984087b07f0ccf7ac2e85/1-5-3238/45410833/55555555555.jpg
Скиньте .bat файлы в папку files

Кнопка открыть фаил - открывает .bat файлы

Кнопка удалить раздел - удаляет раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl

для запуска программы установите Microsoft .NET Framework 4

vzli_izv
01-01-2012, 06:58
neo21, благодарю!
и можно вопрос? тебе не жалко будет потратить 1 час времени (но тут зависит от твоих знаний) и вот в этой програмульке добавить пару нужностей?
есть пара интересных идей, на мой взгляд, но я не смогу их реализовать. к моему сожалению.

Delirium
01-01-2012, 08:42
для запуска программы установите Microsoft .NET Framework 4 »
А что, для этих опций обязательно 4 фреймворк? Наворачивать эту громадину ради такой задачи. Второго для этих целей более чем достаточно.

vzli_izv
01-01-2012, 20:54
обязательно 4 фреймворк? »
не знаю у кого как а у меня фреймворк ставится по умолчанию, как кодеки, например.Начиная ещё с 1.1 и до 4.
Может просто у меня программ его требующих много, не могу сказать точно.

Drongo
01-01-2012, 22:56
vzli_izv, У вас да, а если придётся применять утилиту там где его нету?

vzli_izv
02-01-2012, 00:49
думаю там, где его нету, тому и не нужно ))

neo21
02-01-2012, 04:07
А что, для этих опций обязательно 4 фреймворк? Наворачивать эту громадину ради такой задачи. Второго для этих целей более чем достаточно. »

Если установить второй будет выдавать ошибку:
http://i.piccy.info/i7/b3503e88c769dd0ae207b78e0729b8d6/1-5-3282/43466707/1.jpg
Причина:
http://i.piccy.info/i7/bba4e548fae32b4b7b287b2a2d76f54c/1-5-3282/43554297/2.jpg

ferget
02-01-2012, 04:29
смените исполняющую среду на .NET Framework 2.0 и ошибки не будет

neo21
02-01-2012, 04:32
смените исполняющую среду на .NET Framework 2.0 и ошибки не будет »
Ну это понятно и vzli_izv четвертый подходит, так что смысла переделывать нет.

и можно вопрос? тебе не жалко будет потратить 1 час времени (но тут зависит от твоих знаний) и вот в этой програмульке добавить пару нужностей?
есть пара интересных идей, на мой взгляд, но я не смогу их реализовать. к моему сожалению. »
Какие нужности?

vzli_izv
02-01-2012, 10:41
Программка из 1го exe'шника

Панель слева - только папки в директории exe'шника.
Дерево папок отображает подкаталоги.
Клик по каталогу открывает файлы в правой панели.
Переход на уровень выше расположения exe'шника запретить.
Снизу кнопочка "обновить" обновляет дерево папок.

Желательно:
цифровое упорядочивание каталогов 00>01>02>03 и тд.



Панель слева отображает все файлы в папках.

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

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


Если стоит галочка на CheckBox "Всё разом", тогда по клику кнопки "Запустить" ВСЕ файлы в папке запустить., .


Дополнительно
иметь возможность по клику на имени запускать файл.
масштабирование панелей по самому длинному названию папок слева и файлов справа (что бы не было горизонтальных прокруток).
вертикальная прокрутка с помощью колеса мыши (если вдруг по умолчанию только зажатой кнопкой)

Внешний вид примерно как на картинке.




© OSzone.net 2001-2012