Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » обхождение {clsid} с записью параметров

Ответить
Настройки темы
обхождение {clsid} с записью параметров

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Изменения
Автор: semiono
Дата: 16-02-2014
Нужно вот так вот сделать:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\Volume\{bd98a5e0-975a-11e3-824f-806e6f6e6963}]
"MaxCapacity" DWORD = NULL
"NukeOnDelete" DWORD = 0x1

Ключей может быть много и вероятно они непредсказуемы. Хотелось бы хороший код на AutoIt и на CMD/BAT.

Вот нашёл http://msdn.microsoft.com/en-us/libr...code-snippet-1
наверное в AutoIt исполнить можно..

-------
Полезное сообщение


Отправлено: 18:55, 16-02-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


А у меня там вот так:
читать дальше »
Код: Выделить весь код
╔═════ REG2:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket ╤═════╗
║и                                  Имя                                    │Размер│  Дата  │Время║
║⌂..                                                                       │ Вверх│        │     ║
║├c                                                                        │ Папка│15.02.14│08:35║
║├e                                                                        │ Папка│14.02.14│04:24║
║├h                                                                        │ Папка│15.02.14│08:35║
║                                                                          │      │        │     ║
║                                                                          │      │        │     ║

.

Цитата semiono:
Ключей может быть много и вероятно они непредсказуемы. »
Вполне предсказуемы. Похоже на GUID. Надо только выяснить, каким правилам они («{bd98a5e0-975a-11e3-824f-806e6f6e6963}») подчиняются. А затем воспользоваться «RegEnumKey()» для перебора и «StringRegExp()» для проверки имени раздела на соответствие правилам формирования GUID'ов, примерно так же, как Вы указали:
Цитата semiono:
Вот нашёл http://msdn.microsoft.com/en-us/libr...code-snippet-1 »
и при соответствии — писать в реестр значения параметров.

Цитата semiono:
и на CMD/BAT. »
Без сторонних средств — это вряд ли: весь RegExp ограничен весьма куцым набором для «findstr.exe».
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:34, 16-02-2014 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для XXXler

Ветеран


Сообщения: 1073
Благодарности: 194

Профиль | Отправить PM | Цитировать


semiono, смысл в отключении корзины? Тогда RegExp не нужен, перебираете имеющиеся ключи с пом. RegEnumKey / reg query и добавляете во все найденные эти значения.

Цитата Iska:
А у меня там вот так: »
XP, вестимо.

-------
Исходные коды проектов


Отправлено: 23:44, 16-02-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата XXXler:
XP, вестимо. »
Вестимо .

Потому:
Цитата XXXler:
Тогда RegExp не нужен, перебираете имеющиеся ключи с пом. RegEnumKey / reg query и добавляете во все найденные эти значения. »
никак низзя.

Отправлено: 23:49, 16-02-2014 | #4


Аватара для XXXler

Ветеран


Сообщения: 1073
Благодарности: 194

Профиль | Отправить PM | Цитировать


Цитата Iska:
никак низзя. »
под XP скрипт сработает вхолостую, т.к. подраздела Volume там нет, да и твик выключения корзины другой

Код: Выделить весь код
Dim $i, $Key

While Not @error
	$i += 1

	$Key = RegEnumKey ("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\Volume", $i)
	If Not @error Then
		RegWrite ("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\Volume\" & $Key, "MaxCapacity", "REG_DWORD", 0)
	EndIf
Wend

-------
Исходные коды проектов


Последний раз редактировалось XXXler, 17-02-2014 в 01:04.


Отправлено: 00:10, 17-02-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата XXXler:
т.к. подраздела Volume там нет, »
Логично. Просмотрел. Но гарантировано ли то, что там, в «…\Volume», не будет ничего другого?

Отправлено: 00:14, 17-02-2014 | #6


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата XXXler:
смысл в отключении корзины »
У меня всегда корзина выключена, на XP всегда так юзал, сейчас перебираюсь на Win 8.1.
Не нашёл даже графического способа нет всё разом отключить, нужно в каждый раздел указывать, а у меня их немало.
А предупреждение об удалении лучше вернуть, ато опасно)


RegEnumKey - до меня не очень доходит смысл этой функции, поэтому всегда избегал подобное)
Ну перечисляет ключи, а дальше что? Всмысле они доступны все найденные где-то в выводе функции?
Хотя надо раскрыть автоит и посмотреть с чем это в паре работает, просто у меня всё запущенно с автоитом)
Я всё на C++ поглядывал, но идея RegEnumKey мне непонятна до сих пор.

-------
Полезное сообщение


Последний раз редактировалось semiono, 17-02-2014 в 00:48.


Отправлено: 00:40, 17-02-2014 | #7


Аватара для XXXler

Ветеран


Сообщения: 1073
Благодарности: 194

Профиль | Отправить PM | Цитировать


Цитата Iska:
Логично. Просмотрел. Но гарантировано ли то, что там, в «…\Volume», не будет ничего другого? »
Там указываются GUID томов, абсолютно уникальные значения. Можно конечно сопоставлять их с содержимым HKLM\System\MountedDevices или банально проверять есть ли в ключе параметр MaxCapacity, но, имхо, это лишнее.

Цитата semiono:
RegEnumKey - до меня не очень доходит смысл этой функции, поэтому всегда избегал подобное) »
RegEnumKey выдает имя подраздела (результат) из указанного раздела (первый параметр) с указанным порядковым номером (второй параметр) . Перебирая по-порядку значения второго параметра можно получить список всех подразделов указанного раздела. Цикл перебора обрывается возникновением ошибки при невозможности получить имя подраздела с несуществующим индексом

-------
Исходные коды проектов

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:02, 17-02-2014 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата XXXler:
Там указываются GUID томов, абсолютно уникальные значения. »
Это-то понятно. Я про другое:
Цитата Iska:
Но гарантировано ли то, что там, в «…\Volume», не будет ничего другого? »

Отправлено: 05:21, 17-02-2014 | #9


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Мне кажется эту тему можно пополнить примерами рег-экспов и тогда закрыть.

-------
Полезное сообщение


Отправлено: 17:30, 18-02-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » обхождение {clsid} с записью параметров

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - [решено] Defender CLSID код ошибки 0x80080015 neomax38 Microsoft Windows 8 и 8.1 10 15-10-2019 15:50
Проблема с записью диска RomanWAR Хочу все знать 4 03-12-2012 19:43
Реестр. Индефекатор CLSID veln Автоматическая установка приложений 3 28-03-2009 22:05
CLSID???????? balashovka Вебмастеру 4 22-06-2006 02:21
проблема с записью одиссей Видео и аудио: обработка и кодирование 1 18-12-2004 09:04




 
Переход