Встроить winrar в оболочку Windows, что это такое

Обновлено: 21.11.2024

Информация в этом руководстве была протестирована на ПК с ОС Windows Vista. Чтобы получить список параметров для команд rar и unrar, откройте командное окно, перейдите в каталог WinRAR и введите rar или unrar, а затем нажмите клавишу ввода (также можно использовать rar /? или rar help, используйте rar > rar_cmds .txt или распаковать >unrar_cmds.

Как открыть файл .RAR в Windows 10?

Как открыть файлы RAR

  1. Сохраните файл . …
  2. Запустите WinZip из меню "Пуск" или ярлыка на рабочем столе. …
  3. Выберите все файлы и папки внутри сжатого файла. …
  4. Нажмите «Разархивировать одним нажатием» и выберите «Распаковать на ПК или в облако» на панели инструментов WinZip на вкладке «Распаковать/поделиться».

Может ли Windows запускать файлы RAR?

Может ли Windows 11/10 открывать файлы RAR? Да, Windows 11/10 может открывать файлы RAR. Как и любой другой сжатый файл, файлы RAR представляют собой проприетарный архивный файл, который поддерживает сжатие данных, восстановление после ошибок и объединение файлов.

Как открыть файл RAR в Windows 10 без программного обеспечения?

Используя 7-Zip для открытия файлов RAR, дважды щелкните файл, чтобы просмотреть его содержимое, не извлекая его. Кроме того, вы можете выбрать файл RAR, выбрать «Извлечь» в верхнем меню, а затем выбрать место для целевого извлечения, а также любой пароль архива. Затем нажмите OK, чтобы извлечь файлы.

Как открыть файл RAR в Windows 10 без WinZip?

0:061:11Как открыть файлы ZIP/RAR/7Z в Windows 10 без WinZipYouTube

Как распаковать файл в CMD?

Чтобы извлечь файлы из командной строки, вы можете использовать информацию, представленную ранее в этой статье, или воспользоваться вспомогательным инструментом извлечения командной строки. Чтобы использовать помощник извлечения командной строки, введите «ext» (без кавычек) в командной строке и следуйте инструкциям на экране.

Как распаковать файл в командной строке?

Чтобы распаковать zip-файлы в командной строке, загрузите unzip.exe здесь. этот файл является копией оригинального Info-ZIP unzip.exe версии 5.52, предоставляемого бесплатно по лицензии Info-ZIP….

gzip -d foo.tar.gz распаковывает foo.tar.gz, заменяя его на foo.tar
tar xvf foo.tar извлекает содержимое foo.tar

Как открыть файл RAR без WinZip?

Открытие файла RAR в Windows Однако, если вам просто нужно извлечь файл RAR, лучшим выбором будет бесплатное приложение 7-Zip с открытым исходным кодом. После того, как вы загрузили и установили 7-Zip с их веб-сайта, все готово. Вы можете дважды щелкнуть любой файл RAR, чтобы открыть его в формате 7-ZIP и просмотреть или извлечь файлы.

Можно ли открыть файл RAR без WinRAR?

С версиями, доступными для Windows и Linux, 7-ZIP предлагает бесплатную альтернативу WinRAR, которую вы можете использовать для открытия файлов RAR. … После того, как вы установите 7-ZIP и запустите его, вы увидите файловый браузер, в котором вы можете перейти к файлу RAR. Дважды щелкните файл RAR, чтобы просмотреть его содержимое, не извлекая его.

Как бесплатно открыть файл RAR в Windows?

Как открыть файлы RAR в Windows 10

Как открыть файлы RAR без WinRAR и WinZip?

Дважды щелкните файл RAR, чтобы просмотреть его содержимое, не извлекая его. В противном случае щелкните файл RAR, выберите «Извлечь» в верхнем меню и заполните параметры для места назначения извлечения и любого пароля архива. Затем нажмите OK, чтобы извлечь файлы в выбранную папку.

Как открыть файл RAR с кодом VS?

  1. Создайте новую папку на рабочем столе.
  2. Щелкните правой кнопкой мыши ZIP-файл и выберите параметр "Извлечь файл в указанную папку".
  3. Выберите только что созданную папку.
  4. Откройте эту папку с помощью VS-Code.
  5. Готово. Приятного вам дня :)

Как открыть файл RAR, не распаковывая его?

Вы можете использовать команду unrar -l file. rar, чтобы получить содержимое файла RAR без его извлечения.

Как вы используете распаковку?

Распаковка заархивированного файла или папки Найдите файл, который нужно распаковать, щелкните его правой кнопкой мыши и выберите «Извлечь все». В появившемся диалоговом окне выберите место назначения для распакованных файлов, нажмите кнопку Обзор…. Вы также можете установить флажок Показать извлеченные файлы после завершения. Нажмите «Извлечь».

Что такое команда «Извлечь»?

Команда извлечения Windows берет файлы, сжатые в CAB-файл Windows, и помещает их в указанное место на жестком диске. Доступность. Извлечь синтаксис. Извлечь примеры.

Где я могу найти лицензионное соглашение WinRAR с конечным пользователем (EULA)?

WinRAR можно использовать бесплатно в течение 40 дней. Если вы хотите продолжать использовать WinRAR по истечении этого 40-дневного пробного периода, вам необходимо приобрести лицензию.

Подробнее см. в нашем лицензионном соглашении:

Чтобы ознакомиться с ЛИЦЕНЗИОННЫМ СОГЛАШЕНИЕМ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ RAR и WinRAR, нажмите здесь

Что такое файл RAR?

Файлы RAR представляют собой сжатые файлы или контейнеры данных, которые можно создать с помощью WinRAR. Они могут содержать один или несколько файлов или папок, а также сжимать, открывать и шифровать файлы RAR и ZIP.

RAR — это собственный формат архиватора WinRAR.

WinRAR — это версия RAR для Windows, которая включает версию режима оболочки или графический интерфейс пользователя (GUI), а также параметр командной строки.

После получения или загрузки файла RAR из Интернета или по электронной почте вам необходимо извлечь его содержимое, чтобы использовать его. Это можно сделать в два простых шага:

  1. Дважды щелкните файл, и он отобразится в WinRAR. Затем вы можете выбрать, какие файлы или папки вы хотите извлечь.
  2. Нажмите значок «Извлечь в» в верхней части окна WinRAR, выберите папку назначения (папку, в которой вы хотите сохранить файл RAR) и нажмите «ОК».

Вы найдете извлеченные файлы в папке назначения, в которой вы их сохранили.

Как открыть файл RAR с помощью WinRAR?

Чтобы извлечь или открыть файл RAR с помощью WinRAR в режиме оболочки (GUI), необходимо сначала открыть нужный архив в WinRAR. Этого можно добиться одним из нескольких способов:

  • дважды щелкните или нажмите Enter на имени архива в Windows (Проводник или Рабочий стол). Если WinRAR был связан с архивами во время установки (параметр установки по умолчанию), архив будет открыт в WinRAR. Вы также можете связать WinRAR с архивами после установки, используя диалоговое окно настроек интеграции.
  • дважды щелкните или нажмите Enter на имени архива в окне WinRAR.
  • перетащите архив на значок или окно WinRAR. Перед этим убедитесь, что WinRAR уже не отображает другой архив, иначе перетащенный архив будет добавлен к текущему отображаемому архиву.
  • запустите WinRAR и выберите параметр «Мастер» на панели инструментов WinRAR. Выберите вариант «Распаковать архив» и следуйте пошаговым инструкциям.
  • запустите WinRAR из командной строки с единственным параметром — именем архива.

При открытии архива в WinRAR отображается его содержимое. Выберите файлы и папки, которые необходимо извлечь (открыть). Вы можете сделать это с помощью Shift + клавиши со стрелками или Shift + левая кнопка мыши, как в проводнике Windows и других программах Windows. Также в WinRAR есть возможность выделять файлы с помощью пробела. Клавиши "Серый +" и "Серый -" на цифровой клавиатуре позволяют выбирать группы файлов с помощью масок файлов.

Выбрав один или несколько файлов, нажмите кнопку «Извлечь в» в верхней части окна WinRAR или нажмите клавиши ALT+E. Введите папку назначения (куда вы хотите сохранить папку) в диалоговом окне и нажмите OK. В этом диалоговом окне также есть несколько дополнительных параметров.

Во время извлечения будет отображаться окно со статистикой операции. Если вы хотите прервать процесс извлечения, нажмите кнопку «Отмена» в командном окне. Вы можете нажать кнопку «Фон» в этом окне, чтобы свернуть WinRAR в трей. Если извлечение завершено без ошибок, WinRAR вернется в режим оболочки (GUI). В случае ошибки появится окно диагностического сообщения.

Каков максимальный размер файла и архива для RAR?

Внутренний формат архивов RAR и ZIP, созданных с помощью WinRAR, позволяет хранить практически любое количество файлов практически любого размера. Фактическое ограничение зависит от доступной памяти файловой системы. Некоторые старые файловые системы не поддерживают файлы размером более 4 ГБ.

Для создания архивов размером более 4 ГБ необходимо использовать файловую систему NTFS.

WinRAR может работать с файлами практически неограниченного размера (до 8 589 934 591 ГБ).

В целом формат архива RAR оптимален для тяжелых задач, связанных с огромным количеством файлов и гигабайтами дискового пространства.

Как мне зарегистрироваться и установить WinRAR?

Прежде чем вы сможете зарегистрировать WinRAR, вам необходимо приобрести лицензию. Самый удобный способ приобрести лицензию — заказать ее через Интернет.

Вы можете приобрести лицензию WinRAR в нашем интернет-магазине и произвести оплату с помощью любой кредитной карты, PayPal или прямого дебета. В зависимости от вашего местоположения могут быть доступны другие местные способы оплаты.

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

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

  • Пожалуйста, загрузите самую последнюю версию пробной версии WinRAR на вашем языке здесь.
  • Пожалуйста, установите пробную версию WinRAR на свой компьютер, просто дважды щелкнув установочный архив.
  • Зарегистрируйте пробные версии WinRAR на своем компьютере, просто дважды щелкнув архив rarkey.rar, который мы отправили вам по электронной почте.

Вы увидите сообщение:

"Эта копия WinRAR успешно зарегистрирована. Спасибо!"

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

Сделайте резервную копию файла rarkey.rar.

Регистрация WinRAR завершена.

RAR и ZIP

WinRAR может создавать архивы в двух разных форматах: RAR и ZIP.

Вот сравнение этих форматов:

Как правило, формат RAR обеспечивает лучшее сжатие, чем ZIP, особенно в сплошном режиме. Многотомные архивы WinRAR в формате RAR поддерживают больше функций, например самораспаковывающиеся архивы.

Формат RAR также имеет несколько важных функций, отсутствующих в ZIP, таких как запись для восстановления, которая позволяет восстанавливать поврежденные данные и блокировать важные архивы, чтобы предотвратить случайное изменение.

И форматы RAR, и ZIP могут работать с файлами практически неограниченного размера (до 8 589 934 591 ГБ).

Другим популярным форматом архива является ZIP. Если вы собираетесь отправить кому-то архив, но не уверены, что у получателя есть WinRAR для извлечения содержимого архива, рекомендуется использовать формат ZIP. Хотя вы также можете отправить самораспаковывающийся архив, который получатель сможет открыть, даже если на его машине не установлен WinRAR. Такие SFX-архивы немного больше по размеру, но их можно распаковать без внешних программ.

Как создать архив RAR с помощью WinRAR?

Во-первых, вам нужно открыть WinRAR, дважды щелкнув или нажав Enter на значке WinRAR. Вы также можете запустить его из меню «Пуск» Windows: в разделе «Программы» выберите «WinRAR», а затем запустите программу «WinRAR».

Когда WinRAR открыт, он отображает список файлов и папок в текущей папке. Вам нужно перейти в папку, содержащую файлы, которые вы хотите заархивировать. Вы можете использовать Ctrl + D, список дисков под панелью инструментов или щелкнуть значок маленького диска в левом нижнем углу, чтобы изменить текущий диск. Нажмите BS, Ctrl+PgUp, маленькую кнопку «Вверх» под панелью инструментов или дважды щелкните папку с именем «..», чтобы перейти в родительскую папку. Нажмите Enter, Ctrl+PgDn или дважды щелкните любую другую папку, чтобы войти в нее. Ctrl+ установит папку корневого диска в качестве текущей папки.

Когда вы вошли в папку с нужными файлами, выберите файлы и папки, которые вы собираетесь заархивировать. Этого можно добиться с помощью Shift + клавиши со стрелками или мыши, как в проводнике Windows и других программах Windows. Также можно выбирать файлы с помощью клавиш пробела или Ins. Клавиши "Серый +" и "Серый -" на цифровой клавиатуре.

Выбрав один или несколько файлов, нажмите кнопку «Добавить» в верхней части окна WinRAR, нажмите Alt+A или выберите команду «Добавить файлы в архив» в меню «Команды». Введите имя целевого архива в появившемся диалоговом окне или просто примите имя по умолчанию. В этом диалоговом окне вы можете выбрать формат нового архива (RAR или ZIP), уровень сжатия, размер тома и другие параметры архивирования. Нажмите кнопку ОК, когда будете готовы создать архив.

Во время архивации будет отображаться окно со статистикой операции. Если вы хотите прервать процесс архивирования, нажмите кнопку «Отмена» в командном окне. Вы можете нажать кнопку «Фон» в этом окне, чтобы свернуть WinRAR в трей. Когда архивирование завершено, командное окно исчезает, и вновь созданный архив становится текущим выбранным файлом.

Также можно добавлять файлы в существующий архив RAR, используя перетаскивание. Выберите нужный архив в окне WinRAR и нажмите Enter (или дважды щелкните) на его имени. RAR прочитает архив и отобразит его содержимое. Теперь вы можете добавлять файлы в архив, просто перетаскивая их из другой программы в WinRAR.

Новые пользователи также могут использовать мастер для создания архива. Запустите WinRAR, выберите пункт «Мастер» в меню панели инструментов WinRAR, выберите параметр «Создать новый архив» и следуйте пошаговым инструкциям.

Как разделить файлы на многотомные архивы RAR?

WinRAR может создать архив, состоящий из нескольких файлов.

Эти архивы называются многотомными архивами, а отдельные файлы внутри этих архивов называются томами. Как правило, тома используются для хранения больших объемов данных на съемных дисках или для передачи данных по электронной почте.

Если вы хотите сжать и разделить файлы, вы можете выбрать нужный размер тома в поле «Разделить на тома» в диалоговом окне имени и параметров архива на вкладке «Общие».

По умолчанию размер разделенных томов вводится в байтах, но если вы добавите строчную букву «k» в конце размера тома, введенное значение будет считаться килобайтами (умноженное на 1024).< /p>

Используйте заглавную букву "K" для обозначения тысяч байтов (умножьте на 1000), "m" означает мегабайты, а "M" — миллионы байтов.

Также можно выбрать размер тома из списка, связанного с этим элементом. Обратите внимание: если вы архивируете на съемный диск, вы можете выбрать «Автоопределение» из списка, и WinRAR будет автоматически выбирать размер тома для каждого нового тома.

Для нескольких компакт-дисков вы можете ввести, например, "700m" для компакт-дисков объемом 700 МБ. WinRAR создает многотомный архив (имя тома.part001.rar, имя тома.part002.rar и т. д.). Все тома имеют размер 700 МБ, но последний том может быть меньше.

После этого вы можете записать тома на CD или DVD или сохранить их на USB-накопителе.

Некоторые программы записи имеют специальный тестовый режим, с помощью которого вы можете определить максимальную емкость заготовок компакт-дисков, чтобы вы могли ввести максимальный размер томов.

Чтобы распаковать эти тома, следует начать извлечение с первого тома. В появившемся меню выберите «Обработать все файлы во всех томах из текущего».

Если тома хранятся на несъемном носителе, например на жестком диске, перед началом извлечения необходимо поместить все тома в одну папку.

Чтобы переупаковать один архив RAR или ZIP в многотомные архивы, используйте функцию преобразования в меню инструментов WinRAR.

Невозможно добавлять, обновлять или удалять файлы в уже существующих томах. Вы можете только создать новый набор томов.

Начиная с версии 3.40, WinRAR сохраняет номер тома внутри файлов RAR. Вы можете увидеть этот номер в верхней части диалогового окна «Показать информацию», если вы примените к тому команду «Показать информацию». Этот номер может быть полезен, если исходные имена томов утеряны и вам нужно восстановить правильные имена вручную.

Я забыл пароль для своего RAR-архива. Как я могу его восстановить?

Шифрование RAR не содержит бэкдоров, поэтому единственный возможный способ восстановить утерянный пароль — проверить все возможные комбинации символов. (грубая сила) В Интернете доступно множество инструментов для взлома паролей, но ни один из них не поддерживается WinRAR, и вы используете их на свой страх и риск.

Помните, что если вы потеряете свой пароль, вы не сможете восстановить зашифрованные файлы; даже автор WinRAR не может извлечь зашифрованные файлы, защищенные паролем.

Использование надежного шифрования в WinRAR иногда может привести к отрицательному результату.

Что такое интерфейс мастера WinRAR?

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

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

По умолчанию эта кнопка видна как внутри, так и вне архивов, но вы можете отключить или включить ее, как и все остальные кнопки панели инструментов, с помощью параметра «Выбрать кнопки…» в диалоговом окне «Общие настройки». Другой параметр в диалоговом окне «Общие параметры», называемый «Активировать мастер при запуске», позволяет запускать мастер при каждом запуске WinRAR.

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

Более подробные инструкции по использованию WinRAR можно найти в меню "Справка".

В чем разница между командной строкой и режимом оболочки в WinRAR и RAR?

В дополнение к режиму оболочки WinRAR (GUI) вы также найдете файл rar.exe.

Это также версия RAR для Windows, но она поддерживает только интерфейс текстового режима командной строки.

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

RAR доступен ТОЛЬКО в режиме командной строки для Mac OS.

Командная строка RAR поддерживает большее количество функций по сравнению с WinRAR, но не поддерживает ZIP и другие форматы.

Хотя общие аспекты синтаксиса командной строки WinRAR также доступны в режиме оболочки WinRAR (GUI), описания переключателей и команд, которые поддерживаются только версией командной строки, здесь не включены.

Подробное описание всех функций командной строки RAR следует прочитать в файле rar.txt.

Я получаю сообщение об ошибке "Ошибка CRC в имени файла. Файл поврежден!"

Данные файла повреждены. Архив мог быть поврежден после создания. В этом случае иногда возможно восстановить его, если была применена запись восстановления.

Он также мог быть поврежден во время создания из-за аппаратных сбоев (обычно вызванных разгоном процессора или ненадежной памятью).

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

Проверьте, установлена ​​ли у вас самая последняя версия WinRAR. Если нет, загрузите актуальную версию WinRAR/RAR здесь. Мы всегда стараемся улучшать функциональность WinRAR с каждым обновлением.

Я получаю сообщение об ошибке "Сбой CRC упакованных данных в имени тома. Том поврежден!"

Это сообщение может отображаться вместе с сообщением "Сбой CRC в имени файла. Файл поврежден!" и может помочь вам определить, какой именно том поврежден. Это особенно полезно, если большой файл был разбит на несколько томов, и только один том был поврежден после создания архива.

В зависимости от сведений о поврежденном архиве RAR может отображать или пропускать это сообщение.

Сообщение "Сбой CRC в имени файла. Файл поврежден!" всегда отображается, если данные файла были повреждены.

Проверьте, установлена ​​ли у вас последняя версия. Если нет, загрузите актуальную версию WinRAR/RAR здесь. Мы всегда стараемся улучшать все пользовательские функции с каждым обновлением и исправлять любые уязвимости безопасности, которые могли возникнуть.

Являются ли лицензии WinRAR бессрочными или есть подписка?

Лицензии WinRAR являются бессрочными и действительны в течение всего срока службы.

Вы не можете зарегистрировать свою лицензию, не купив ее предварительно, а WinRAR не является бесплатным продуктом. Мы предлагаем всем пользователям 40-дневную бесплатную пробную версию, после чего использование WinRAR без действующей лицензии является нарушением нашего лицензионного соглашения с конечным пользователем.

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

У меня произошел сбой компьютера, и я потерял лицензионный ключ WinRAR, что мне делать?

Если вы потеряете свой лицензионный ключ WinRAR, мы можем повторно отправить его вам по электронной почте.

Для получения дополнительной информации о повторной отправке ключей WinRAR перейдите на нашу страницу утерянных ключей:

Обратите внимание, что за повторную активацию ключей старше 3 лет взимается небольшая плата.

Можно ли установить WinRAR на сервер?

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

Например, если вы хотите, чтобы в вашей сети было 10 различных клиентов или рабочих станций с доступом к RAR, вы должны приобрести лицензию на 10 пользователей.

Всю информацию о лицензировании можно найти в нашем лицензионном соглашении.

Я не получил лицензионный ключ. Что мне делать?

После того как ваш платеж будет одобрен, вы должны получить лицензионный ключ WinRAR по электронной почте в течение 48 часов. Ваш провайдер электронной почты мог доставить электронное письмо, содержащее ваш лицензионный ключ, в папку «Спам» или «Нежелательная почта», поэтому всегда проверяйте и там. Если прошло более 48 часов, перейдите на страницу утерянных ключей, чтобы получить дополнительную информацию о повторной отправке ключей WinRAR:

Как мне обновить WinRAR?

При обновлении программного обеспечения WinRAR до последней версии нет необходимости предварительно удалять программу. Просто выполните следующие действия:

Расширения оболочки — это мощный и гибкий способ расширить возможности оболочки Windows. Однако при работе с обработчиками расширения Shell вы можете столкнуться со скрытыми трудностями.

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

Команда разработчиков драйверов

Содержание:

Что такое расширения оболочки?

Что такое расширение оболочки? Чтобы определить расширения оболочки, давайте рассмотрим обработчик расширений оболочки Windows, который позволяет расширить обычный набор действий при работе с проводником Windows. Расширения оболочки могут быть представлены в виде отдельных плагинов к проводнику Windows. Их можно использовать для добавления новой вкладки в окно свойств, изменения предварительного просмотра файла и других действий.

Прежде чем предпринимать какие-либо действия, командная консоль вызывает зарегистрированные обработчики расширений, чтобы настроить это действие.Типичным примером такой настройки является обработчик расширения Shell для контекстного меню.

В зависимости от типа файла обработчики расширений оболочки могут быть добавлены либо ко всем типам объектов в проводнике Windows, либо только к определенным типам объектов.

Обработчики расширений оболочки, используемые с определенными типами файлов:

Обработчики расширений оболочки, не зависящие от типа файла:

Однако независимо от того, к какому типу файлов вы применяете обработчик, использование расширений оболочки может замедлить работу проводника Windows. Помимо Проводника Windows, другие программы, включая Dropbox, TortoiseSVN, WinRAR и SkyDrive, устанавливают свои собственные наборы расширений оболочки.

Создание обработчиков расширения оболочки

В этом разделе мы обсудим процесс создания обработчиков расширений Windows Shell на примере расширений наложения и контекстного меню. Другие типы расширений оболочки могут быть реализованы аналогичным образом.

Каждый обработчик расширения оболочки является объектом объектной модели компонентов (COM). Обработчики должны иметь свой собственный глобальный уникальный идентификатор (GUID) и быть зарегистрированы, прежде чем оболочка сможет их использовать. Путь реестра определяется типом обработчика расширения. Теперь пройдемся по всем этапам создания обработчика расширения Shell.

Реализация необходимых функций и интерфейсов

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

    – Создает точку входа в DLL – Получает объект с помощью фабрики классов – Перед выгрузкой вызывает DLL, чтобы проверить, используется ли она в данный момент – Регистрирует COM-объект в реестре – Удаляет запись COM-объекта из реестра

ClassFactory используется для создания объекта компонента и должен реализовывать интерфейс IClassFactory. Вот как выглядит ClassFactory:

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

Обратите внимание, что несколько обработчиков расширений могут быть реализованы в одной библиотеке DLL. При этом необходимо указать GUID, выполнить регистрацию в реестре и настроить ClassFactory для каждого обработчика (хотя можно использовать общую ClassFactory для нескольких обработчиков расширений).

Определение интерфейсов для расширений оболочки

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

Большинство обработчиков расширений также должны реализовывать интерфейс IPersistFile или IShellExtInit в Windows XP или более ранних версиях. Они были заменены на IInitializeWithStream, IInitializeWithItem и IInitializeWithFile в Windows Vista. Оболочка использует эти интерфейсы для инициализации обработчика.

Для обработчика контекстного меню используются интерфейсы IShellExtInit и IContextMenu, а для обработчика значка наложения — интерфейс IShellIconOverlayIdentifier. Давайте рассмотрим каждый из них поближе.

Интерфейс IShellExtInit предоставляет только функцию инициализации обработчика расширения:

Метод Initialize вызывается проводником Windows перед выполнением действия, расширяемого этим обработчиком. Например, в случае расширения контекстного меню этот метод будет вызываться после нажатия на выбранные файлы и до открытия контекстного меню.

В методе Initialize можно реализовать логику, фильтрующую работу расширения в зависимости от типа выбранных файлов или любых других условий. Кроме того, список объектов, которые выбирает пользователь, можно получить в методе Initialize.

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

Интерфейс IContextMenu содержит методы для работы с контекстным меню:

Метод QueryContextMenu отвечает за добавление новых пунктов меню в контекстное меню. Здесь вы можете добавить логику для создания новых пунктов меню. Пункт меню может быть создан функцией WinApi InsertMenuItem.

Каждый пункт меню связан со своим идентификатором.Параметр idCmdFirst — это минимальное значение идентификатора, которое может быть присвоено элементу меню. Соответственно, idCmdLast — это максимальное значение идентификатора. Важно, чтобы, если элемент меню содержит подменю, элементам подменю присваивались идентификаторы, созданные после идентификатора пункта меню.

Метод QueryContextMenu возвращает разницу между первым и последним назначенным идентификатором плюс 1.

QueryContextMenu вызывается проводником Windows, только если расширение зарегистрировано для отдельных типов файлов.

Метод InvokeCommand обрабатывает нажатия на добавленные пункты меню. Каждая кнопка меню идентифицируется значением verb, которое указывается при создании элемента в QueryContextMenu . Глагол — это строка с именем команды, которая выполняется пунктом меню. Глагол дается в двух вариантах: с использованием Юникода и без него. Поэтому формат verb следует проверять перед выполнением команды.

Метод GetCommandString используется для получения канонического имени глагола, назначенного элементу меню. Этот метод является необязательным и установлен для Windows XP и более ранних версий Windows. Используется для отображения текста подсказки для выбранного пункта меню в строке состояния.

Этот интерфейс должен быть реализован обработчиком значка наложения:

Метод GetOverlayInfo используется для первого вызова обработчика наложения, чтобы добавить значок в системный список изображений. После этого иконку изменить нельзя, а последующие вызовы GetOverlayInfo должны возвращать путь к файлу, содержащему иконку, и индекс значка. Индекс значка — это порядковый номер значка (начиная с 0) в списке ресурсов DLL.

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

Метод GetPriority используется для указания приоритета значка наложения по сравнению с другими значками. В зависимости от этого обработчик может быть либо приоритетным, либо нет. Наивысший приоритет равен 0.

Метод IsMemberOf должен содержать логику, указывающую, следует ли применять значок к данному объекту в проводнике Windows. Этот метод вызывается по очереди для всех объектов в текущем окне проводника Windows при открытии окна и после его обновления. Если вы не укажете здесь никаких фильтров и просто вернете S_OK, значок будет отображаться на всех объектах в проводнике Windows.

Регистрация расширений оболочки

Логика регистрации расширений оболочки Windows должна быть реализована в функции DllRegisterServer. Эта функция вызывается при установке расширения Shell и отвечает за регистрацию COM-объекта. Соответственно функция DllUnregisterServer должна содержать код для удаления записей из реестра.

Обратите внимание, что вы можете получить ошибку 0x80070005 при попытке зарегистрировать DLL в Windows XP или Windows Server 2003. Это происходит потому, что их строгие схемы безопасности позволяют инициировать регистрацию DLL только администраторам.

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

Параметр может быть определен:

  • Для файлов определенного типа: BMP, DOCX, PNG
  • Для всех типов файлов: *
  • Для группы объектов: "Диск", "Каталог", "Папка", "Расположение библиотеки".

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

Обработчик наложения значков регистрируется один раз, используя путь:

Кроме того, необходимо зарегистрировать сам COM-компонент:

Например, функция DllRegisterServer, которая регистрирует обработчики значков наложения и обработчики контекстного меню для всех типов файлов ("*"), может выглядеть следующим образом:

Функции RegisterInprocServer , RegisterShellExtContextMenuHandler и RegisterShellExtOverlayIconHandler содержат код для добавления новых кустов и ключей в реестр.

Подготовка ресурсов для обработчиков наложения значков

Значки должны быть подготовлены для правильного отображения обработчиками расширений оболочки.

Для контекстного меню нам нужно изображение в формате BMP. Обработчики наложений немного сложнее: значок должен быть в формате ICO и поддерживать следующие размеры:

  • 10 x 10 (для 16 x 16)
  • 16 x 16 (для 32 x 32)
  • 24 x 24 (для 48 x 48)
  • 128 x 128 (для 256 x 256)

Значки обработчика наложения будут отображаться в левом нижнем углу основного значка и должны занимать не более 25 % значка файла (за исключением 10 x 10 для 16 x 16).

При масштабировании объектов в проводнике Windows правильный размер определяется автоматически.

Установка расширений оболочки

Расширения оболочки устанавливаются с помощью стандартной утилиты Regsvr32. Например:

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

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

Удаление расширений оболочки

Для удаления расширения оболочки можно использовать тот же подход, что и для его установки, а именно Regsvr32:

Тем временем, когда мы вызываем функцию DllUnregisterServer, система удаляет записи из реестра.

После удаления обработчика наложения вам также потребуется перезапустить проводник Windows.

Распространенные проблемы и их решения

Вы можете столкнуться с некоторыми проблемами расширения оболочки Windows при написании обработчиков расширений оболочки. Некоторые из этих проблем перечислены ниже вместе с способами их решения:

1. Значки наложения не отображаются

Проблема: как описано выше, эта проблема может заключаться в логике функции GetOverlayInfo. Кроме того, поскольку Windows использует только ограниченное количество зарегистрированных обработчиков значков наложения, все остальные обработчики просто игнорируются.

Список обработчиков, которые не будут игнорироваться, определяется именем в ветке реестра: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers. Система принимает первые 15 обработчиков значков наложения в алфавитном порядке. Поэтому, если в системе установлены Dropbox или TortoiseSVN, которые фиксируют ряд расширений, они могут стать причиной не отображения значков.

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

2. Проблемы с отображением значков с прозрачным фоном в контекстном меню

Проблема заключается в использовании изображения BMP, которое не поддерживает прозрачность, при добавлении нового пункта меню. Если вы используете файлы ICO или PNG, то после конвертации иконка будет отображаться на черном фоне.

Как это решить: Перерисовать ICO в формат BMP в коде во время работы расширения. Например, можно использовать следующую реализацию (с UX-THEME.DLL):

3. Проблемы с отображением контекстного меню

Может быть несколько проблем, связанных с контекстным меню.

Проблема: после регистрации расширения оболочки для LibraryLocation расширение контекстного меню не отображается.

Проблема может заключаться в реализации метода Initialize в интерфейсе IShellExtInit, который вызывается для инициализации расширения Shell. IdataObject, который используется для получения объектов, для которых будет отображаться расширение, передается в метод Initialize в качестве параметра. Поэтому при нажатии на папки библиотеки (Документы, Музыка и т.д.) любые попытки получить из нее объекты формата CF_HDROP не приводят к ожидаемому результату.

Как решить эту проблему: используйте формат CFSTR_SHELLIDLIST, который похож на CF_HDROP, но содержит PIDL (указатель на идентификатор объекта в структуре оболочки ITEMIDLIST) вместо пути к файлу. Это позволяет CFSTR_SHELLIDLIST обрабатывать объекты системы и виртуальной файловой системы.

Проблема: при регистрации расширения оболочки для AllFileSystemObjects щелчок по файлам .lnk дважды добавляет это расширение оболочки Windows в контекстное меню.

Проблема в том, что расширение работает и для объекта, и для ссылки, которая на него указывает.

Как решить эту проблему: в методе QueryContextMenu интерфейса IContextMenu не только должен быть установлен флаг CMF_DEFAULTONLY, но и расширения контекстного меню должны игнорировать объекты с флагами CMF_NOVERBS и CMF_VERBSONLY.

Проблема: Расширение контекстного меню не отображается для некоторых типов файлов, хотя его можно зарегистрировать для всех типов.

Проблема может заключаться в реализации метода QueryContextMenu интерфейса IcontextMenu. В случае успешной реализации он должен вернуть HRESULT с кодовым значением, равным максимальному смещению присвоенного идентификатора команды плюс один .

Например, если idCmdFirst равно 5 и были добавлены еще 3 пункта меню с идентификаторами команд 5, 7 и 8, то возвращаемое значение должно быть таким: MAKE_HRESULT(SEVERITY_SUCCESS, 0, 8 - 5 + 1).

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

Как решить проблему: убедитесь, что метод QueryContextMenu интерфейса IcontextMenu успешно реализован.

4. Проблема с запуском потока из DllMain

Проблема: при запуске потока в DllMain (например, для инициализации чего-либо) могут возникнуть проблемы с выгрузкой DLL с помощью FreeLibrary.

Например, DLL с расширениями оболочки загружается динамически, чтобы отменить регистрацию расширений вручную. В то же время вы запускаете поток в DllMain для инициализации ведения журнала. В этом случае вызывается DllUnregisterServer, который успешно выгружает DLL. Затем, как и следовало ожидать, система вызывает FreeLibrary.

В этом примере может случиться так, что поток, вызванный из DllMain, либо не завершил выполнение, либо еще не начался, а DLL уже выгружена из контекста процесса. В результате области памяти повреждаются и нарушения прав доступа могут возникнуть в любой момент при обращении к этим областям.

Как решить: Дождитесь окончания потока инициализации в экспортируемых функциях DLL.

Заключение

В этой статье мы обсудили все типы расширений оболочки Windows, а также общий подход к их реализации. Кроме того, мы описали основные этапы создания контекстного меню и обработчиков значков наложения. Мы также рассмотрели несколько подводных камней при реализации этих расширений и дали советы, как их преодолеть. Чтобы получить примеры исходных кодов проекта, вы можете инициировать загрузку расширения Windows Shell здесь.

Apriorit имеет команду квалифицированных разработчиков систем Windows, которые могут помочь вам с проектом Windows любой сложности. Свяжитесь с нами, используя форму ниже!

Если вы столкнулись с проблемой, когда WinRAR не отображается в контекстном меню или контекстное меню 7-Zip не отображается после обновления до Windows 11, что вам следует сделать, чтобы избавиться от этой проблемы? Не волнуйтесь, и вы можете прочитать этот пост, чтобы найти способ, собранный MiniTool Solution.

В Windows 11 представлен совершенно новый дизайн пользовательского интерфейса, и одно большое изменение, на которое следует обратить внимание, — это новое контекстное меню. Вы можете обнаружить, что новое контекстное меню отличается от меню в Windows 10 — в нем отсутствуют важные параметры, в том числе ярлыки сжатия, доступные в традиционном контекстном меню.

Конечно, вы по-прежнему можете получить доступ ко всем параметрам в классическом контекстном меню, нажав Показать дополнительные параметры. Или вы можете изменить некоторые настройки, чтобы вернуться к старому контекстному меню. Чтобы получить дополнительную информацию, обратитесь к этому сообщению — Руководство: Как переключиться обратно на проводник Win10 в Windows 11.

Если вы хотите по-прежнему получать доступ к современному контекстному меню, вы можете добавить дополнительные меню в контекстное меню. Если вы столкнулись с проблемой, когда WinRAR не отображается в контекстном меню или параметр 7-Zip не отображается в контекстном меню, вы можете добавить WinRAR или 7-Zip в контекстное меню Windows 11. В следующей части мы сосредоточимся на этой теме.

Как добавить отсутствующий WinRAR в контекстное меню в Windows 11

WinRAR — известный инструмент архиватора, с помощью которого можно извлечь содержимое из файлов ZIP, RAR и других архивов. Чтобы получить доступ к WinRAR в контекстном меню Windows 11, вам необходимо использовать WinRAR Beta V6.10.

Шаг 1. Перейдите по этой ссылке, чтобы загрузить последнюю версию WinRAR (бета-версия 6.10) для вашей системной архитектуры.

Шаг 2. Дважды щелкните этот установочный файл, чтобы установить его на свой компьютер.

Шаг 3. Появится всплывающее окно для настройки интеграции со стандартными типами файлов, которые оно поддерживает. Кроме того, убедитесь, что выбран параметр «Интегрировать WinRAR в оболочку». После этого нажмите OK, чтобы сохранить настройку.

Теперь вы можете щелкнуть правой кнопкой мыши любой файл, и вы увидите ярлыки сжатия WinRAR в контекстном меню.

Если вы не настроили интеграцию во время установки WinRAR, вы можете добавить отсутствующий WinRAR в контекстное меню Windows 11 другим способом.

Шаг 1. Запустите WinRAR через поиск Windows 11.

Шаг 2. В приложении нажмите "Параметры" > "Настройки".

Шаг 3. На вкладке «Интеграция» установите флажок «Интегрировать WinRAR в оболочку». Вы также можете установить флажки для некоторых типов файлов в разделе «Связать WinRAR с».

Шаг 4. Нажмите "ОК".

Как интегрировать форк 7-Zip в контекстное меню

Если вы столкнулись с проблемой отсутствия контекстного меню 7-Zip в Windows 11, как вы можете решить эту проблему?

При поиске в Интернете контекстного меню 7-Zip, в котором не отображается Windows 11, вы можете обнаружить, что некоторые пользователи обсуждали эту тему на форумах. Интеграция 7-Zip в новую систему — непростая задача. Но вы можете добавить NanaZip (форк 7-Zip) в новое контекстное меню в Windows 11.

Шаг 1. Загрузите NanaZip через Microsoft Store и установите его на свой компьютер с Windows 11.

Шаг 2. Откройте приложение "Настройки", нажав Win + I.

Шаг 3. Выберите Приложения > Приложения по умолчанию > Выберите значения по умолчанию по типу файла.

Шаг 4. Найдите почтовый индекс в окне поиска. Затем щелкните результат и выберите открытые ZIP-файлы из NanaZip. Теперь щелкните правой кнопкой мыши любой файл, и вы увидите NanaZip в контекстном меню.

7-Zip, WinRAR или WinZip: какой инструмент для сжатия файлов выбрать? Посмотрите сравнения и различия 7-Zip, WinRAR и WinZip.

Заключительные слова

WinRAR не отображается в контекстном меню? Контекстное меню 7-Zip не отображается? Прочитав этот пост, вы узнаете, как добавить WinRAR или NanaZip (форк 7-Zip) в контекстное меню Windows 11. Надеюсь, это поможет вам.

ОБ АВТОРЕ

Должность: обозреватель

Вера работает редактором команды MiniTool с 2016 года и имеет более чем пятилетний опыт написания технических статей. Ее статьи в основном посвящены управлению дисками и разделами, восстановлению данных ПК, преобразованию видео, а также резервному копированию и восстановлению ПК, помогая пользователям решать некоторые ошибки и проблемы при использовании своих компьютеров. В свободное время она любит делать покупки, играть в игры и читать статьи.

Читайте также: