Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Реестр Windows 2000/WinXP

Автор: popkov
Дата сообщения: 26.03.2005 14:08
osip
Попробуй покопаться в Групповых политиках, но если это и есть, то наверняка очень далеко и через задницу как-то, просто так всё равно не получится.

CoDeR
Действительно странно... А у Вас Windows XP или 2000?
Автор: CoDeR
Дата сообщения: 27.03.2005 00:15
popkov

Цитата:
Действительно странно...

Что странно?


Цитата:
А у Вас Windows XP или 2000?

У меня WinXP Pro SP1 Rus.
Собственно можно и на "ты"
Автор: Rush
Дата сообщения: 27.03.2005 00:55
CoDeR

Цитата:
Все пункты визуально наблюдаемые нами в контекстном меню файлов генерируются из записей реестра, а не из каких-нибудь DLL, SYS, BIN, EXE, INI, INF, JPG, ICO и прочих каких бы то ни было фалов. Еще раз подчеркиваю - только из реестра!

Ты это точно знаешь? Многие программы используют для контекстного меню DLL.
Автор: 1Yanvarya2005
Дата сообщения: 27.03.2005 01:40
Ситуация следующая. Есть папка, в ней много каталогов (появляется полоса прокрутки). Захожу в какую-нибудь папку, потом поднимаюь обратно, и курсор перемещается на первую папку. Вопрос в том, укак сделать так, чтобы он оставался на той папке, из которой я поднялся. Такое делается в Fare и Total Commandere. Можно ли такое сделать в Win 2000 Prof и Win98&
Автор: gav ru 6a
Дата сообщения: 27.03.2005 03:21
1Yanvarya2005
А ты попробуй нажимать не на Уровень Вверх или Backspace, а на клавиатуре Alt+стрелка влево
Автор: Sarancha75
Дата сообщения: 27.03.2005 03:49
На клавиатуре есть клавиши Power, Sleep и Wake. У меня они находятся под клавишами Delete, End и Page Down. И иногда я нажимаю не ту клавишу, особеннос часто Power, и соответсвенно у мня все выключается. Можно как-нибудь выключить эти кнопки или заблокировать как-нибудь?
Автор: gav ru 6a
Дата сообщения: 27.03.2005 03:42
Sarancha75
Тоже задовался этим вопросам, им наверное задавались все "счастливые" обладатели таких клавиатур. Ну вот через реестр это вроде бы решить никак нельзя, в базе знаний есть вот такой способ http://support.microsoft.com/default.aspx?scid=kb;en-us;Q302092 я лично ничего не понял из того что там понаписано, я просто разобрал клавиатуру и наклеел под эти кнопки скотч, так проблема решилась. У меня даже гдет о валяется файл, типа откомпиленный по этой статье, но я его не испытывал, так как нашел его после скотча и испытывать пока не охото, могу скинуть почтой весит 3 кб.
Автор: 1Yanvarya2005
Дата сообщения: 27.03.2005 11:45
gav ru 6a

Цитата:
попробуй нажимать не на Уровень Вверх или Backspace, а на клавиатуре Alt+стрелка влево

Не помогает, результат такой же.
Автор: CoDeR
Дата сообщения: 27.03.2005 14:35
Rush

Цитата:
Ты это точно знаешь?

Ну на роль абсолютного всезнания не претендую, но владею реестром на уровне эксперта еще со времен Win98.


Цитата:
Многие программы используют для контекстного меню DLL.

Привел бы хоть примеры.

1Yanvarya2005

Цитата:
Захожу в какую-нибудь папку, потом поднимаюь обратно, и курсор перемещается на первую папку. Вопрос в том, укак сделать так, чтобы он оставался на той папке, из которой я поднялся.

Не помню уже как в Win98 и Win2000, но в WinXP возврат в папку на уровень вверх с одновременной подсветкой (маркированием) предыдущей выполняется по нажатию кнопки "Назад", что аналогично нажатию "Alt+Left Arrow" как уже правильно сказал gav ru 6a. А вот нажатие "Backspace" не маркирует папку, а аналогично нажатию "Вверх".

Sarancha75

Цитата:
Можно как-нибудь выключить эти кнопки или заблокировать как-нибудь?

Как то с год назад озаботился этой проблемой, перебрал кучу факов, форумов, статей и пр. Вывод - программно отключить эти кнопки можно только под управлением Win2003. В остальных случаях выход в физическом блокировании - удаление пленок или вставке заглушек.
Автор: Mup0Boe_3Jlo
Дата сообщения: 28.03.2005 00:07
подскажите пожалуйста инструмент для работы реестром из командной строки. Требуется менять разрешения на ключи, а reg.exe этого не умеет.
Автор: Rush
Дата сообщения: 28.03.2005 11:22
CoDeR

Цитата:
Привел бы хоть примеры.

WinRar и другие архиваторы, Norton AntiVirus, IrfanView... Это навскидку...
Автор: Oleggg
Дата сообщения: 28.03.2005 23:38
Sarancha75
Не знаю как через реестр Но правый клик на рабочем столе Свойства Заставка Питание Дополнительно : Кнопки питания - в выпадающем списке Действия не требуется (на обеих кнопках0 Применить. И у меня они отключились.
Автор: CoDeR
Дата сообщения: 29.03.2005 00:02
Rush

Цитата:
WinRar и другие архиваторы, Norton AntiVirus, IrfanView... Это навскидку...

Иконки и само действие для пунктов контекстного меню во многих программах содержится внутри собственных библиотек - это да. Но визуальное отображение программы в контекстном меню генерируется как раз из реестра, и именно в нем прописано будет тот или иной пункт виден или нет.

Возьмем на примере WinRAR:
Открываем ключ HKCR\*\shellex\ContextMenuHandlers и видим там ключ WinRAR с CLSID-последовательностью, который и позволяет нам видеть в контекстном меню файлов и папок пункты архиватора.
Во всех остальных схожих программах - по аналогии.
Автор: rzt
Дата сообщения: 29.03.2005 11:43
как можно в Windows 2000, XP установить максимальный размер файлового кэша?
проблема такая – при записи большого образа в Nero (например образ компакт диска Windows XP) система кэширует записываемые файлы, соответственно уменьшается рабочее множество для программ, производительность сильно падает. Примерно то же происходит при сжатии или дефрагментации диска в VMWare.
можно ли установить размер кэша для конкретной программы?
Автор: popkov
Дата сообщения: 31.03.2005 15:28
CoDeR
А откуда Windows берёт сам текст пунктов контекстного меню и можно ли его менять? Иконки, я так понял, берутся всё же не из реестра, а из какой-то DLL'ки?

Добавлено:
А ты можешь, кстати, подсказать, как можно добавлять свои команды (например, запуска приложения) в контекстное меню фона папки (то есть если кликать по пустому месту в папке)?
Автор: VictorSaf
Дата сообщения: 31.03.2005 17:26
CoDeR

Цитата:
Возьмем на примере WinRAR:
Открываем ключ HKCR\*\shellex\ContextMenuHandlers и видим там ключ WinRAR с CLSID-последовательностью, который и позволяет нам видеть в контекстном меню файлов и папок пункты архиватора.

К сожалению одного этого ключа недостаточно, чтобы в контексном меню появился
пункт WinRar. Давно бьюсь, чтобы в моей сборке WinXPE WinRar сразу был в контексном
меню. А так на кликание по расширениям он запускается, но в меню появляется, когда
зайдешь в установки проги и там нажмешь ОК(добавить в контексное меню). Конечно,
может я что и криво делаю, но информация на эту тему отсутствует, приходится экспериментировать на ощупь, благо VMware это позволяет.
Автор: trigliff
Дата сообщения: 31.03.2005 17:57
VictorSaf
Посмотри тут по WinRAR forum.ixbt.com/0022/029304-48.html#1634
Хотя там топик немного про другое, но ведь тебе тока ключи нужны.
Автор: CoDeR
Дата сообщения: 01.04.2005 01:11
popkov

Цитата:
А откуда Windows берёт сам текст пунктов контекстного меню и можно ли его менять?

Точного ответа я дать не могу, ибо не владею ActiveX, поэтому врать не буду. Лишь в одном я уверен - поменять текст меню сформированного ClassID без применения средств программирования невозможно.

Цитата:
Иконки, я так понял, берутся всё же не из реестра, а из какой-то DLL'ки?

Именно так, об этом я тебе уже говорил выше. Опять же на примере WinRAR'а - эта иконка находятся внутри rarext.dll, если точнее то Bitmap -> 4100. Кстати сравнительно недавно мною благополучно измененная на собственную неписанной красоты в рамках глобального моддинга системы.

Цитата:
А ты можешь, кстати, подсказать, как можно добавлять свои команды (например, запуска приложения) в контекстное меню фона папки (то есть если кликать по пустому месту в папке)?

Долго перечитывал прежде чем понял смысл. Ты вероятно имеешь ввиду контекстное меню с пунктами "Вид", "Упорядочить значки", "Обновить", ... ?
Если да, то насколько я знаю без применения опять же ClassID нельзя, хотя я никогда и не задавался такой целью. Менял лишь содержимое пункта "Создать".
Автор: mkung
Дата сообщения: 01.04.2005 08:53
Други!
Помогите решить проблему. Win2k Pro, сеть на Win2k Server
Захожу на рабочей станции админом править реестр. Даю доступ к ветке
HOTKEY_LOKAL_MASINE_HARDWARE_DESCRIPTION опытному пользователю
(надо для работы программы). Захожу опытным - работает.
Но после перезагрузки - доступ как до изменения. В чем тут дело?
Автор: VictorSaf
Дата сообщения: 01.04.2005 15:34
trigliff
Ох, я его(WinRar) ключи, наверное уже наизусть знаю.
Вчера вечером все заработало. Но так, как я считаю
некрасиво. Пришлось указывать абсолютные адреса
вместо относительных. То есть
X:\Programs\WinRAR\rarext.dll вместо
%SystemDrive%\Programs\WinRAR\rarext.dll.
Это для нужно было для WinXPE.
Автор: popkov
Дата сообщения: 02.04.2005 11:53
CoDeR

Цитата:
А ты можешь, кстати, подсказать, как можно добавлять свои команды (например, запуска приложения) в контекстное меню фона папки


Цитата:
насколько я знаю без применения опять же ClassID нельзя

Очень жаль, а то так удобно было бы повесить туда команды запука таких приложений, как Блокнот, поисковая система и т.п., не загромождая ими контекстные меню файлов и папок...
А есть ли где-нибудь пошаговая инструкция по созданию новых таких ClassID для полных ламеров?
Автор: CoDeR
Дата сообщения: 04.04.2005 10:55
popkov

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

Так а что тебе мешает повесить "руками" эти приложения в контекстное меню для строго определенных расширений файлов, при этом не используя CLSID? Не очень понимаю, зачем тебе именно CLSID, или ты хочешь вложенное меню организовать?

Цитата:
А есть ли где-нибудь пошаговая инструкция по созданию новых таких ClassID для полных ламеров?

Ну для полных ламеров точно исключено, ибо область эта подразумевает навыки программирования и далеко не на начальной стадии. А вообще эта инструкция вполне может входить в какой нибудь учебник по ActiveX. Могу лишь посоветовать задать этот вопрос в разделе "Программирование".
Да и если мало ли добьешься результатов не забудь тут отписать
Автор: FediBass
Дата сообщения: 04.04.2005 16:17
Подскажите, можно ли как-то в Windows 2000/WinXP поменять название встроенной учетной записи администратора? То есть допустим Администратор -> Admin , нужно для большего удобства. Еще одну учетную запись создавать не хочу... Может средствами реестра можно это сделать, а папку с документами вручную переименовать? Никто не пробывал? Сколько в темах ни искал, не нашел..
Автор: nickloayev
Дата сообщения: 04.04.2005 17:38
FediBass

Цитата:
То есть допустим Администратор -> Admin

control panel -> administrative tools -> Local security policy -> Local Policies -> Security options -> Accounts: rename administrator acount
Автор: venq
Дата сообщения: 05.04.2005 12:47
Удалено by venq
Автор: voltag
Дата сообщения: 05.04.2005 14:42
VictorSaf

Цитата:
Ох, я его(WinRar) ключи, наверное уже наизусть знаю.

Что ты ещё знаешь, мне к сожалению не известно
Так вот, если вдруг тебе надо запись

Цитата:
%SystemDrive%\Programs\WinRAR\rarext.dll

присвоить параметру реестра, то для того чтоб Windows и другие программы понимающие переменные среды могли их считывать, эти значения необходимо записывать в виде типа данных REG_EXPAND_SZ.
Автор: popkov
Дата сообщения: 05.04.2005 14:54
CoDeR

Цитата:
Так а что тебе мешает повесить "руками" эти приложения в контекстное меню для строго определенных расширений файлов, при этом не используя CLSID? Не очень понимаю, зачем тебе именно CLSID, или ты хочешь вложенное меню организовать?

Не хочу загромождать и так большие контекстные меню. К тому же файлов такого типа может не оказаться в папке. Это нерационально.
А как, кстати, можно создать у конкретного типа файла вложенное контекстное меню?
Автор: VictorSaf
Дата сообщения: 05.04.2005 18:51

Цитата:
присвоить параметру реестра, то для того чтоб Windows и другие программы понимающие переменные среды могли их считывать, эти значения необходимо записывать в виде типа данных REG_EXPAND_SZ.

Естественно, я использовал именно этот тип. Такие ляпсусы
достаточно очевидны, когда долго ищешь, где проблема.
Может сама прога WinRar невоспринимает относительную
адресацию.

Добавлено:
voltag


Цитата:
Цитата:присвоить параметру реестра, то для того чтоб Windows и другие программы понимающие переменные среды могли их считывать, эти значения необходимо записывать в виде типа данных REG_EXPAND_SZ.

Естественно, я использовал именно этот тип. Такие ляпсусы
достаточно очевидны, когда долго ищешь, где проблема.


Вот же блин, а действительно! Сейчас проверил, что там
сейчас, а зараза-REG_SZ. Все-таки это такие дебри, что проверяешь себя,
проверяешь, а где-нибудь да ошибешься.
Стала красиво работать в контекстном меню, с относительной
адресацией в реестре! Правда не все, но теперь понятно
как копать! Спасибо за совет!
Автор: CoDeR
Дата сообщения: 08.04.2005 06:27
popkov

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

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

Цитата:
как можно создать у конкретного типа файла вложенное контекстное меню

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

Любое контекстное меню файлов/папок генерируется на лету каждый раз когда ты его вызываешь. Генерация эта происходит путем выборки соответствующих ключей реестра отвечающих за то или иное разрешение файла или за папку. Таким образом ты можешь создавать пункты для строго определенных расширений, которые не будут показываться при выборе других (можно также создавать и для всех сразу).
Как происходит генерация контекстного меню (рассмотрим на примере TXT-файла):
1. Обращение к ключу реестра HKCR\.txt для выборки значения параметра "(По умолчанию)". Допустим значение это - txtfile
2. Обращение к ключу HKCR\txtfile
Внутри него находится ключ "shell" и далее ключи open, print и т.д.

Вот эти ключи грубо говоря как раз и являются пунктами контекстного меню TXT-файла - "Открыть", "Печать" и т.д.
В каждом из этих ключей есть обязательный подключ "command", в значении параметра "(По умолчанию)" которого содержится действие выполняемое при активизации пункта контекстного меню, за который он отвечает. То бишь это просто путь к программе с помощью которой например нужно открыть/редактировать/распечатать/... данный файл. В конце пути через пробел помещается знак "%1" являющийся эквивалентом полного названия искомого файла для подстановки в конец прописанного пути. Например запись "notepad %1" эквивалентна выполнению команды "notepad <название файла>".
- Значение параметра "(По умолчанию)" в ключах open, edit, print и т.д. отвечает за то как эти пункты будут называться при открытии контекстного меню.
- Значение параметра "(По умолчанию)" в ключе "shell" отвечает за очередность появления пунктов в контекстном меню. Например если присвоить параметру значение "open, print", то пункт "Открыть" будет в контекстном меню выше пункта "Печать", соответственно если написать "print, open", то наоборот - сначала будет идти пункт "Печать", а за ним "Открыть". Если же вписать одно слово, например "print", то это действие будет выполняться по умолчанию при двойном клике на файл.

Рассмотрим пример как создать пункт меню "Открыть в AkelPad" для TXT-файла:
1. Смотрим значение параметра "(По умолчанию)" у ключа HKCR\.txt
2. Находим ключ название которого совпадает с названием найденным в п.1
3. В этом ключе находим ключ "shell" и создаем в нем подключ например "open1" (всё без кавычек)
4. Присваиваем значение "(По умолчанию)" этого ключа - "Открыть в AkelPad".
5. В ключе "open1" создаем подключ "command" и присваиваем ему значение, например - "C:\Utilities\Akelpad\akelpad.exe %1"
Таким образом получаем пункт "Открыть в AkelPad" для любого TXT-файла, позволяющий редактировать файл в этой программе. Разумеется файл откроется в программе лишь при ее наличии.

Для потенциально желающих меня поравить скажу, что вышеописанное мной довольно упрощенная схема, с намеренно не включенными подробностями во избежание загромождения руководства ненужными в рамках данного вопроса деталями.
Автор: popkov
Дата сообщения: 09.04.2005 19:06
CoDeR

Цитата:
2. Обращение к ключу HKCR\txtfile
Внутри него находится ключ "shell" и далее ключи open, print и т.д.
Вот эти ключи грубо говоря как раз и являются пунктами контекстного меню TXT-файла - "Открыть", "Печать" и т.д.

У меня здесь сразу возникает вопрос по поводу предназначения ключа printto у того же текстового файла. При его удалении в контекстном меню текстового файла ничего не меняется. Для чего он нужен?
И ещё одну странность заметил: в контекстном меню текстового файла у меня присутствует пункт "Изменить". Однако, непонятно, какому ключу реестра он соответствует, ведь оставшиеся пункты "Открыть" и "Печать" соответствуют оставшимся двум командам open и print...



Добавлено:

Цитата:
Значение параметра "(По умолчанию)" в ключе "shell" отвечает за очередность появления пунктов в контекстном меню.

А если этот параметр пуст, как у большинства типов файлов, то откуда берётся информация о том, какая команда должна выполняться по умолчанию?


Цитата:
Присваиваем значение "(По умолчанию)" этого ключа - "Открыть в AkelPad".

Большое спасибо за прикольную фишку, но откуда берётся название пункта меню, если параметр "(по умолчанию)" пуст? Обычно ведь он пуст...


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

Всё предельно ясно и понятно! Спасибо за такую удобную инструкцию!

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Windows Server 2003


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.