Автор Тема: Редактирование меню "Создать"  (Прочитано 4698 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн KREKER12345

  • Ветеран
  • *****
  • Сообщений: 763
  • Пол: Мужской
    • Просмотр профиля
Редактирование меню "Создать"
« : 08 Апреля 2016, 20:53:22 »
Удаление пунктов меню "Создать":

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

 Спойлер:
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bmp\ShellNew]



Добавление пунктов в меню "Создать":

Для добавления пунктов помимо применения файлов реестра нужно будет создать в папке  WINDOWS  папку  ShellNew, и закинуть туда файлы, по образцу которых будет создаваться новый файл. Образцы файлов - в прикреплённом архиве.

 Файл реестра(*.reg):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.reg]
@="regfile"

[HKEY_CLASSES_ROOT\.reg\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\.reg\ShellNew]
"FileName"="RegFile1.reg"

[HKEY_CLASSES_ROOT\regfile]
@="Файл реестра"
"EditFlags"=dword:00100000
"BrowserFlags"=dword:00000008

 Командный файл(*.bat):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_CLASSES_ROOT\.bat\ShellNew]
"FileName"="BATFile1.bat"

[HKEY_CLASSES_ROOT\batfile]
@="Пакетный файл MS-DOS"
"EditFlags"=dword:00100000
"BrowserFlags"=dword:00000008
 Текстовый файл(*.txt):
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.txt]
@="txtfile"
"PerceivedType"="text"
"Content Type"="text/plain"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.txt\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.txt\ShellNew]
"NullFile"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile]
@="Текстовый документ"
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  32,00,5c,00,6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,\
  00,2c,00,2d,00,34,00,36,00,39,00,00,00
"EditFlags"=dword:00010000
"BrowserFlags"=dword:00000008

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
  65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,35,\
  00,32,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell]
@="open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00

 Документ Word 2003(*.doc):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.doc]
@="OfficeWord"

[HKEY_CLASSES_ROOT\.doc\PersistentHandler]
@="{98de59a0-d175-11cd-a7bd-00006b827d94}"

[HKEY_CLASSES_ROOT\.doc\ShellNew]
"FileName"="Word2003.doc"

[HKEY_CLASSES_ROOT\OfficeWord]
"EditFlags"=dword:00010000
"BrowserFlags"=dword:00000008
@="Документ Word 2003"

[HKEY_CLASSES_ROOT\OfficeWord\DefaultIcon]
@="C:\\WINDOWS\\ShellNew\\OfficeIcon.dll, 1"


; Для открывания портабельным MS Office:

[HKEY_CLASSES_ROOT\OfficeWord\shell]
@="Open"

[HKEY_CLASSES_ROOT\OfficeWord\shell\Open]

[HKEY_CLASSES_ROOT\OfficeWord\shell\Open\command]
@="D:\\PORTABLE\\Microsoft Office 97\\Microsoft Word.exe \"%1\""



 Документ Word 2007(*.docx):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.docx]
@="OfficeWord2007"

[HKEY_CLASSES_ROOT\.docx\ShellNew]
"FileName"="Word2007.docx"

[HKEY_CLASSES_ROOT\.docx\PersistentHandler]
@="{D3B41FA1-01E3-49AF-AA25-1D0D824275AE}"

[HKEY_CLASSES_ROOT\OfficeWord2007]
"EditFlags"=dword:00010000
"BrowserFlags"=dword:00000008
@="Документ Word 2007"

[HKEY_CLASSES_ROOT\OfficeWord2007\DefaultIcon]
@="C:\\WINDOWS\\ShellNew\\OfficeIcon.dll, 2"


; Для открывания портабельным MS Office:

[HKEY_CLASSES_ROOT\OfficeWord2007\shell]
@="Open"

[HKEY_CLASSES_ROOT\OfficeWord2007\shell\Open]

[HKEY_CLASSES_ROOT\OfficeWord2007\shell\Open\command]
@="D:\\PORTABLE\\Microsoft Office 97\\Microsoft Word.exe \"%1\""



Что мне сделать не удалось - разделить иконки для Word 2003 и Word 2007, иконки одинаковые. Всё остальное работает.

ila_rendered



* CreateMenu.rar (79.38 кБ - загружено 322 раз.)

Оффлайн KREKER12345

  • Ветеран
  • *****
  • Сообщений: 763
  • Пол: Мужской
    • Просмотр профиля
Re: Редактирование меню "Создать"
« Ответ #1 : 22 Июня 2016, 08:22:04 »
Разделить иконки разных версий  MS Word  можно попробовать вручную через  Свойства папки:

ila_rendered

Ключевой (неприятный) момент здесь - когда пытаешься выбрать программу для запуска через  "Открыть с помощью"  важным фактором является какой именно версией  MS Office  ты собираешься его открыть.  В некоторых случаях на все типы открываемых файлов устанавливается одна иконка.  Если кто-то не понял - поясню: Одна иконка устанавливается на файлы *.doc, *.docx, *.xls, *.xlsx.   

Неудивительно, если пытаешься сделать то, что не предусмотрено самими разработчиками  MS Office.  А именно - стандартными средствами нельзя (например) установить разные иконки для файлов  *.doc и *.docx.

ila_rendered

Рекомендуемый безглючный пакет  MS Office  -  здесь
« Последнее редактирование: 22 Июня 2016, 08:35:56 от KREKER12345 »

Оффлайн KREKER12345

  • Ветеран
  • *****
  • Сообщений: 763
  • Пол: Мужской
    • Просмотр профиля
Re: Редактирование меню "Создать"
« Ответ #2 : 12 Сентября 2016, 15:54:34 »
Проблема с (разными) иконками для файлов  *.doc  и  *.docx  решена с помощью файла  KiconLib.dll,  вытащенного из старого доброго  KMPlayer-а. Этот (доработанный) файл нужно закинуть в  WINDOWS\system32,  после чего применить БАТ-ник и файл реестра:

 *.bat:
reg add "HKLM\SOFTWARE\Classes\.DOC" /f /ve /t REG_SZ /d "KMPlayer.DOC"
reg add "HKLM\SOFTWARE\Classes\.DOCX" /f /ve /t REG_SZ /d "KMPlayer.DOCX"
reg add "HKLM\SOFTWARE\Classes\.XLS" /f /ve /t REG_SZ /d "KMPlayer.XLS"
reg add "HKLM\SOFTWARE\Classes\.XLSX" /f /ve /t REG_SZ /d "KMPlayer.XLSX"

reg add "HKLM\SOFTWARE\Classes\KMPlayer.doc\DefaultIcon" /f /ve /t REG_SZ /d "\"%windir%\system32\KIconLib.dll\",139"
reg add "HKLM\SOFTWARE\Classes\KMPlayer.docx\DefaultIcon" /f /ve /t REG_SZ /d "\"%windir%\system32\KIconLib.dll\",140"
reg add "HKLM\SOFTWARE\Classes\KMPlayer.xls\DefaultIcon" /f /ve /t REG_SZ /d "\"%windir%\system32\KIconLib.dll\",141"
reg add "HKLM\SOFTWARE\Classes\KMPlayer.xlsx\DefaultIcon" /f /ve /t REG_SZ /d "\"%windir%\system32\KIconLib.dll\",142"

reg add "HKLM\SOFTWARE\Classes\KMPlayer.doc\shell\open\command" /f /ve /t REG_SZ /d "\"%systemdrive%\Program Files\Microsoft Office 97 RUS SP1\Microsoft Word.exe\" \"%%1\""
reg add "HKLM\SOFTWARE\Classes\KMPlayer.docx\shell\open\command" /f /ve /t REG_SZ /d "\"%systemdrive%\Program Files\Microsoft Office 97 RUS SP1\Microsoft Word.exe\" \"%%1\""
reg add "HKLM\SOFTWARE\Classes\KMPlayer.xls\shell\open\command" /f /ve /t REG_SZ /d "\"%systemdrive%\Program Files\Microsoft Office 97 RUS SP1\Microsoft Excel.exe\" \"%%1\""


 *.reg:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.doc]
@="KMPlayer.DOC"

[HKEY_CLASSES_ROOT\.doc\PersistentHandler]
@="{98de59a0-d175-11cd-a7bd-00006b827d94}"

[HKEY_CLASSES_ROOT\.doc\ShellNew]
"FileName"="Word2003.doc"

[HKEY_CLASSES_ROOT\KMPlayer.DOC]
"EditFlags"=dword:00010000
"BrowserFlags"=dword:00000008
@="Документ MS Word"


При необходимости - пере-прописать расположение файлов запуска (БАТ-ник) и надпись в самом контекстном меню (файл реестра).



* KIconLib.rar (253.02 кБ - загружено 271 раз.)

Оффлайн st1317

  • Новичок
  • *
  • Сообщений: 10
  • Пользователь «Game Edition»
    • Просмотр профиля
Re: Редактирование меню "Создать"
« Ответ #3 : 12 Сентября 2016, 17:41:43 »
Если нужно только удалить пункт контекстного меню, то достаточно такой проги