Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Контекстное меню – браузеры
ТвойWeb » Обо всем понемногу » Ваш компьютер » Контекстное меню – браузеры

Страниц (2): [1] 2 »
 

1. Анна - 07 Августа, 2004 - 03:08:09 - перейти к сообщению
Есть такая полезная вещь – называется контекстное меню (правая кнопка мыши).
Вот, хотела сделать, чтобы в нем можно было выбирать, каким браузером открывать html файл. Покопавшись в нете, выяснила, что лучший способ добиться этого - радикальный, т.е. правка реестра.

2. ETC - 07 Августа, 2004 - 05:49:03 - перейти к сообщению
Анна
И? Это вопрос или предложение? Или вопрос, как это сделать? На самом деле всё просто, даже в реестр не надо лазить. Продемонстирую на примере Win2000.
Заходим в свойства папки, (Пуск -> Настройка -> Панель управления -> Свойства папки), на закладке "Типы файлов" быстро-быстро набираем "htm", выбрав таким образом расширение htm (тоже проделаем и с html), жмём на кнопку "Дополнительно", жмём "Создать", в поле "Действие" пишем "Open with Netscape", далее указываем путь к приложению в таком виде: "[путь программы]" %1. Путь программы должен быть в кавычках, а после кавычек должно находится %1... ну вот собственно и всё...
3. Леголегс - 07 Августа, 2004 - 06:11:54 - перейти к сообщению
На всякий случай скажу: в Windows 98 %1 также надо заключать в кавычки:
"[путь программы]" "%1"
Иначе, если путь до файла содержит пробелы, то будет ошибка.
4. Nikitich - 07 Августа, 2004 - 06:17:57 - перейти к сообщению
Леголегс
Цитата:
На всякий случай скажу: в Windows 98 %1 также надо заключать в кавычки:
"[путь программы]" "%1"
Иначе, если путь до файла содержит пробелы, то будет ошибка.


Это стандарт для Windows - если имя файла содержит пробелы, то кавычки обязательны. Вот насчет вторых кавычек я сомневаюсь: %1 - это параметр командной строки, а эти параметры всегда отделяются пробелами.
\n\n(Добавление)
Анна
Цитата:
Есть такая полезная вещь – называется контекстное меню (правая кнопка мыши).
Вот, хотела сделать, чтобы в нем можно было выбирать, каким браузером открывать html файл. Покопавшись в нете, выяснила, что лучший способ добиться этого - радикальный, т.е. правка реестра.


В общем, да. Если есть необходимость проверять, как выглядит html файл в разных браузерах, то проще всего поправить реестр, а именно тот его раздел, который отвечает за контекстные меню оболочки Windows (shell).

ETC

Цитата:
... на закладке "Типы файлов" быстро-быстро набираем "htm", выбрав таким образом расширение htm (тоже проделаем и с html), жмём на кнопку "Дополнительно"...


В Windows зарегистрирован класс htmlfile, в который входят файлы и .htm, и .html, и shtml, и .shtml файлы. В этом можно убедиться, открыв класс HKEY_CLASSES_ROOT\.htm, соответствующий расширению .htm (речь идет про реестр Windows XP)
Проще поправить этот класс, чем исправлять каждое расширение отдельно. Ведь все равно, все что ты делаешь на закладках, отражается в реестре. При работе с реестром нужна некоторая аккуратность, и все.

Класс htmlfile правится здесь:
HKEY_CLASSES_ROOT\htmlfile
Нужно поправить параметры shell'a, а именно, добавить новую команду. Кликаем на кнопке Start (или Пуск, у кого что), далее Run, в поле Open набираем regedit, кликаем на кнопку ОК. (Как сделать проще, см. ниже)

Заходим в
HKEY_CLASSES_ROOT\htmlfile\shell\ и добавляем название команды, например, Open with Netscape. Для этого создаем новый ключ (или, говоря другими словами, папку в реестре - правая кнопка, New, Key) и пишем название Open with Netscape.
Заходим внутрь этого ключа и создаем ключ Command. В этом ключе (папке)автоматически появляется пункт (Default). Его-то нам и надо. Кликаем на нем два раза и вносим туда команду на открытие файла:
"C:\Program Files\Netscape\Netscape\Netscp.exe" %1

Как уже говорилось, кавычки нужны, потому что в имени файла есть пробелы.
Перезагружать Windows XP не надо, изменения начинают работать сразу. В реестре Win'9x есть аналогичные папки и параметры, но, вроде, чтобы заработало, надо перезагрузиться. Хорошая новость: Win'9x перезагружается быстро. Улыбка

Теперь о том, как упростить работу с реестром.
Создаем в текстовом редакторе файл с расширением .reg. Запишем в него следующие четыре строчки:

;--Начало файла----------
REGEDIT4

[HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape]
[HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape\Command]
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" %1"
;--Конец файла-----------

Сохраним, кликнем на файле два раза, Windows запросит подтверждение, кликнем на ОК - готово.

Что значат эти строчки:
1-я - REGEDIT4 - номер версии, можно не обращать внимания

2-я добавляет новый тип обработки КЛАССА файлов HTML. Этот новый тип обработки (фактически - название пункта меню - должен появиться
здесь: [HKEY_CLASSES_ROOT\htmlfile\shell\Название пунка меню]

3-я строка - папка в реестре, где лежит каманда на открывание файла:
[HKEY_CLASSES_ROOT\htmlfile\shell\Название пунка меню\Command]

Обратите внимание, что никаких кавычек не требуется.

4-я строка - сама команда на открывание:
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" %1"

Подробнее о синтаксисе ниже.

Предположим, надоело, хотим удалить. Создаем такой же файл с расширением .reg:

;--Начало файла----------
REGEDIT4

[-HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape\Command]
[-HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape]
;--Конец файла-----------

Минус перед названием ключа (в прямоугольных скобках) говорит, что этот ключ надо удалить. Сначала удаляем более глубокий ключ Command, потом - более верхний ключ с именем команды.

Немного о синтаксисе файлов .reg
В первой строчке должно идти REGEDIT4.
Имена ключей должны быть заключены в квадратные скобки. Имя нашей новой команды для контекстного меню не содержит кавычек, хотя там есть пробелы. Параметр по умолчанию обозначается значком @.
Важный момент: обратный слеш в команде на запуск Нетскейпа заменяется на два слеша: \\, а не \. С кавычками сложнее: каждая кавычка заменяется на слеш с кавычкой: \", а не просто ".
Пример:
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" %1", где сама строка запуска выглядит как @="команда %1", если в имени файла нет пробелов, то @="C:\\команда %1" (двойной слеш), а в имени с пробелами присутствуют все вместе: @="\"C:\\путь с пробелом\\команда\" %1"

Ну а точку с запятой в начале некоторых строк я добавил на случай, если кто-то скопирует и строки типа ;--Начало файла---------- в файл .reg, тогда Windows их будет рассматривать как комментарии. Радость

Еще пример: добавим команду Edit with Netscape.
Создаем новый файл .reg:

;--Начало файла----------
REGEDIT4

[HKEY_CLASSES_ROOT\htmlfile\shell\Edit with Netscape]
[HKEY_CLASSES_ROOT\htmlfile\shell\Edit with Netscape\Command]
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" -edit %1"
;--Конец файла-----------

Здесь между именем файла (бла-бла-бла\нетскейп) и параметром %1 появляется параметр -edit, который говорит Нетскейпу, что надо открыть файл в режиме редактирования.

Как удалить - да то же самое:

;----- Начало файла ----------
REGEDIT4

[-HKEY_CLASSES_ROOT\htmlfile\shell\Edit with Netscape\Command]
[-HKEY_CLASSES_ROOT\htmlfile\shell\Edit with Netscape]
;----- Конец файла ----------

Таким же способом добавляем Оперу и что там еще надо.
5. ETC - 07 Августа, 2004 - 07:35:26 - перейти к сообщению
Nikitich
Всё это хорошо, но твоё обьяснение гораздо длиннее моего, к тому же не всякий полезет копаться в реестре, а некоторым и вовсе найти regedit сложнее... я написал, как сделать это корректно и правильно. А те, кто хочет покопаться в реестре, будут пользоваться твоей инструкцией...

Леголегс
%1 в кавычках не пишется. Можно вообще всё без кавычек, если пробелов в пути нет, как говорил Nikitich
6. Леголегс - 07 Августа, 2004 - 13:21:56 - перейти к сообщению
ETC
Цитата:
%1 в кавычках не пишется. Можно вообще всё без кавычек, если пробелов в пути нет, как говорил Nikitich

У меня были глюки, когда имя файла содержало пробелы (типа C:\my site\index.html) Тогда некоторые программы пытались открыть сначала файл C:\my, а потом site\index.html. Ессно, ничего не получалось. Но если работает без кавычек, то они действительно не нужны. Это, видимо, от редактора зависит.
7. Анна - 08 Августа, 2004 - 07:56:06 - перейти к сообщению
Даже не ожидала... Радость Спасибо ВСЕМ!
ETC
Цитата:
И? Это вопрос или предложение? Или вопрос, как это сделать?

Ага, Подмигивание смешно получилось... Поправляла пост и не заметила, что потерялось предложение, содержащее, собственно, вопрос. Нимб
Nikitich
Это именно то, что я хотела. Улыбка Большое спасибо за такое подробное разъяснение... Цветок
8. TvoyWeb - 29 Августа, 2004 - 16:49:20 - перейти к сообщению
Nikitich
Цитата:
REGEDIT4

[HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape]
[HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape\Command]
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" %1"

Странно, но так не работало.
Сработало вот так:
Цитата:
REGEDIT4

[HKEY_CLASSES_ROOT\htmlfile\shell\Open with Netscape\Command]
@="\"C:\\Program Files\\Netscape\\Netscape\\Netscp.exe\" %1"


Но у меня несколько другая проблема.
У меня стояла Опера 7,11. я решил обновить версию до 7,23. Но я не просто обновил, а установил вторую Опреу 7,23 в другую папку. В итоге у меня на компе было две Оперы.
Обе версии были установлены с ява, каждый со своей версией явы.
Ну я полез в список установленных програм и удалил яву сболее ранней версией. В итоге чего Опера 7,11 осталась без явы.
Сегодня решил проверить один аплет и получил обломс. В 7,11 не смог посмотреть и это понятно, в 7,23 все было в норме. Тогда я решил переустановить 7,11 (просто у меня там и пароли все и закладки, не хотелось копаться и вытаскивать это все). Переустановил. то есть поставил поверх. Но я ва так и не появилась, хотя и установилась.
Тогда решил снести начисто 7,11. Снес. перетащил все данные с 7,11 в 7,23. Теперь решил открыть html файл в опере, и не нашел Оперы в списке контекстного меню "открыть с помощью.." . Ок решил загнать Оперу в этот список. Контекстное меню "Открыть с помощью"->"Выбрать программу", в том списке Оперы тоже не оказалось. Тогда "обзор", нашел opera.exe, клик и ничего не произошло!!!
То есть Опера не хочет добавляться в тот список.
Лезу в список установленных программ и вижу что в том списке Оперы не видать.
Ок. Нашел анинсталятор Оперы и удалил ее начисто, а также все версии явы.
На компе не осталось ни одной оперы.
Установил по новой 7,23 и яву к ней, запустил. Опера попросила зарегаться. Ок зарегал.
В списке установленных программ Опера появилась, но вместо привычного значка стоит системный значок (просто комп., вместо красной "О"Подмигивание. Ок.
Лезу в контекстное меню пытаюсь, для html файлов, вставить оперу в список "открыть с помощью", но ничего опять не выходит. Винда никак не реагирует на это.
Кто знает, что это такое и как с этим бороться?
9. Nikitich - 30 Августа, 2004 - 04:51:14 - перейти к сообщению
TvoyWeb

Цитата:
Странно, но так не работало


Честно говоря, не пойму, вчем подвох. Ты не создаешь папку, но создаешь параметр в ней. Наверняка при этом папка тоже создается. Может, у тебя просто с задержкой срабатывает, или перезагружать надо? Странно.

Цитата:
В списке установленных программ Опера появилась, но вместо привычного значка стоит системный значок (просто комп., вместо красной "О"Подмигивание. Ок.


Удали и почисть реестр от остатков Оперы. Потом поставь заново, можно версию посвежее. Можешь попробовать Regmon, эта программка очень хорошо показывает, какой процесс куда лазает в реестре.

http://www.sysinternals.com/

Только там сразу надо фильтр настроить, потому что в реестр лазают все, кому не лень. Хорошо
10. TvoyWeb - 30 Августа, 2004 - 09:45:46 - перейти к сообщению
Nikitich
Цитата:
Может, у тебя просто с задержкой срабатывает, или перезагружать надо? Странно.

У меня винда ругается. Говорит что то про неправильный формат записей.
Цитата:
Удали и почисть реестр от остатков Оперы.

Да вот я тоже об этом подумал. А реестр я и так вручную почищу. Есть опыт. Сейчас займусь и отпишусь.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0451]     [ Gzipped ]