![]() |
Не могу добавить элемент в контекстное меню для текстовых файлов (*.txt) в windows 7
Вложений: 3
Хочу добавить в контекстное меню для файлов с расширением *.txt еще одну строку. Вся беда в том, что вроде бы действия элементарные и одинаковые вне зависимости от типа файла, но почему-то для *.xls мне все удалось сделать, а вот для *.txt не получается (см. три прикрепленных картинки).
Мне не нужно добавить элемент в контекстное меню для ВСЕХ типов, мне нужно ТОЛЬКО для *.txt! *.xls проверял чисто для эксперимента. Вот экспортировал из реестра ветки: .txt Код:
Windows Registry Editor Version 5.00 Код:
Windows Registry Editor Version 5.00 Код:
Windows Registry Editor Version 5.00 Код:
Windows Registry Editor Version 5.00 |
Цитата:
Код:
@="cscript.exe \"Путь\script.vbs\" \"%1\"" Код:
@="cscript.exe \"c:\\Мои проекты\\script.vbs\" \"%1\"" |
Iska, тут все ровно так как и должно быть. Повторюсь: для *.xls мне все удалось сделать, т.е. все работает, но не для *.txt.
Но все равно проверил ваше предположение. Ничего не поменялось. |
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
kefirko, еще здесь проверьте:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt |
Цитата:
Сделал по той же логике. Создал раздел shell и в него все записал. Не получилось. Потом попробовал без shell. Все равно ноль эмоций. Вот экспортированная ветка: Код:
Windows Registry Editor Version 5.00 |
Цитата:
Удалите ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt |
Цитата:
|
Вложений: 1
Накатал скриптик на VBS, который смотрит, что у вас написано в реестре по адресу HKEY_CLASSES_ROOT\.txt\ и HKEY_CLASSES_ROOT\.xls\ в ключе (По умолчанию). И добавляет соответственно значению этого ключа ветку HKEY_CLASSES_ROOT\txtfile\shell\NewMenuForTest\ (скорее всего) и HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\NewMenuForTest\ (скорее всего). И записывает там в ключ (По умолчанию) значение "NewMenuForTest". После записи у вас по клику правой кнопкой на файлах с расширением *.xls и *.txt в контекстном меню должна появиться еще одна строка "NewMenuForTest". Потом скрипт удаляет добавленные ветки. Все делается с подтверждением действий.
Проверьте кто-н у себя, появится ли у вас еще одна строка в контекстном меню для обоих типов файлов и напишите результат. Вдруг у вас все нормально. В скриптике этот код: Код:
Option Explicit |
kefirko, Вот.
|
Илья_Рудоманенко@vk, дома и на работе все работает. Можете эту ветку реестра выложить?
Проверил на работе (Windows 7 Ultimate). Скрипт работает. Для xls меню появляется, для txt - нет. Проверил дома на своем компе (Windows 7 Ultimate). Скрипт работает. Для xls меню появляется, для txt - нет. Проверил у жены на ноуте (Windows Vista Home Basic). Скрипт работает. Для xls меню появляется, для txt - тоже появляется. |
kefirko, Хм..
Во второй раз ошибка не появилась. У меня Windows 7 Home Basic. Скрипт работает без ошибок. Для xls меню появляется, для txt - появляется. |
Илья_Рудоманенко@vk, тогда тем более от вас бы вашу веточку реестра получить.
|
kefirko, Держите.
|
Илья_Рудоманенко@vk, нет.
Вот эту: HKEY_CLASSES_ROOT\txtfile. |
kefirko, Извиняюсь,вот.
|
Илья_Рудоманенко@vk, у меня с вами все символы до одного совпадают, у жены также, плюс дополнительная ветка:
[HKEY_CLASSES_ROOT\txtfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}] @="{1531d583-8375-4d3f-b5fb-d23bbd169f22}" Но сдается мне, что копать надо не тут. Илья_Рудоманенко@vk, если не трудно еще бы вот эту ветку получить: HKEY_CLASSES_ROOT\.txt. |
kefirko, Вот.
|
Илья_Рудоманенко@vk, тоже все идентично.
|
kefirko, кстати, на скриншоте отсутствует и стандартный пункт "Печать" (что странно).
Попробуйте с помощью ShellExView отключить сторонние (не Microsoft) элементы (правой кнопкой мыши -> Disable Selected Items) и перезагрузиться. Если не поможет, включите обратно. |
Вложений: 2
Petya V4sechkin, ничего не произошло. Даже стандартный пункт "Печать" не появился.
См. две прикрепленных картинки. На зачеркнутый пункт меню внимания не обращайте, это рабочий вариант. Пользуюсь пока им, предварительно пересохранив txt в excel табличку (у меня прога генерирует табличные данные в txt формате, которые потом нужно обработать, поэтому работает и так и так, но пока приходится пересохранять). Да, это полная шляпа :( |
kefirko, А во " включении и отключении компонентов Виндовс " всё включено, что имеет отношение к печати ?!
|
kefirko, сделайте лог Process Monitor следующим образом:
|
Уезжаю в отпуск до 10-го числа. Так что отвечу вам по приезду. Главное не теряйтесь :)
|
Цитата:
Скачать лог |
kefirko, вы уверены, что отключали сторонние Shell Extensions?
|
Цитата:
Сейчас будем отключать. |
Petya V4sechkin, отключил все, кроме тех, где в колонке "Company" написано "Microsoft Corporation". Перезагрузил. Вот результат: скачать лог.
|
Вложений: 1
Petya V4sechkin, кстати не все Shell Extensions удалось отключить. Последние четыре (см. колонку "Disabled") так и остались "No".
|
kefirko, 1. Отключите все сторонние Shell Extensions в ShellExView;
2. Запустите Process Monitor; 3. Цитата:
5. Цитата:
|
Илья_Рудоманенко@vk, скачать лог.
Это лог с компа на работе. |
Цитата:
Цитата:
Цитата:
Цитата:
|
Petya V4sechkin, объясните на пальцах пожалуйста, какие я должен сделать их этого выводы, а то слабо понимаю.
Цитата:
Если и дома заработает, помечу тему решенной. |
Оказывается вид контекстного меню зависит еще и от того с каким приложением по умолчанию ассоциирован данный тип файла (для меня это новость). При ассоциации *.txt с Блокнотом все работает как надо и при неотключенных сторонних Shell Extensions.
|
Petya V4sechkin, тогда такой вопрос: "Как добавить еще одну строку в контекстное меню для файлов с расширением *.txt по умолчанию ассоциированных не с Блокнотом, а с Microsoft Excel?"
Принципиально надо именно так. |
kefirko, на выбор:
HKEY_CLASSES_ROOT\Applications\EXCEL.EXE\shell или HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell Смысл у этих вариантов разный (сами подумайте). |
Время: 02:41. |
Время: 02:41.
© OSzone.net 2001-