Is this possible to disable or remove the right click on a file print option? Seems like it should be possible.
8 Answers
Although you evidently have to remove these registry keys for individual file types, this is the most comprehensive list for it that I've found:
Windows Registry Editor Version 5.00
;--------
;-------- Remove "Print" from context menu for image files
;--------
[-HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\print]
;--------
;-------- Remove Print From common text-based files
;--------
[-HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\print]
[-HKEY_CLASSES_ROOT\batfile\shell\print]
[-HKEY_CLASSES_ROOT\cmdfile\shell\print]
[-HKEY_CLASSES_ROOT\docfile\shell\print]
[-HKEY_CLASSES_ROOT\fonfile\shell\print]
[-HKEY_CLASSES_ROOT\htmlfile\shell\print]
[-HKEY_CLASSES_ROOT\inffile\shell\print]
[-HKEY_CLASSES_ROOT\inifile\shell\print]
[-HKEY_CLASSES_ROOT\JSEFile\shell\print]
[-HKEY_CLASSES_ROOT\JSFile\shell\print]
[-HKEY_CLASSES_ROOT\MSInfo.Document\shell\print]
[-HKEY_CLASSES_ROOT\otffile\shell\print]
[-HKEY_CLASSES_ROOT\pfmfile\shell\print]
[-HKEY_CLASSES_ROOT\regfile\shell\print]
[-HKEY_CLASSES_ROOT\rtffile\shell\print]
[-HKEY_CLASSES_ROOT\ttcfile\shell\print]
[-HKEY_CLASSES_ROOT\ttffile\shell\print]
[-HKEY_CLASSES_ROOT\txtfile\shell\print]
[-HKEY_CLASSES_ROOT\VBEFile\shell\print]
[-HKEY_CLASSES_ROOT\VBSFile\shell\print]
[-HKEY_CLASSES_ROOT\Wordpad.Document.1\shell\print]
[-HKEY_CLASSES_ROOT\WPEDoc\shell\print]
[-HKEY_CLASSES_ROOT\WPSDoc\shell\print]
[-HKEY_CLASSES_ROOT\wrifile\shell\print]
[-HKEY_CLASSES_ROOT\WSFFile\shell\print]
;--------
;-------- Remove Print From Internet Shortcut
;--------
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InternetShortcut\shell\print]
;--------
;-------- Remove Print From Acrobat-/Foxit-registered .pdf files
;--------
[-HKEY_CLASSES_ROOT\AcroExch.Document.7\shell\print]
[-HKEY_CLASSES_ROOT\FoxitReader.Document\shell\print]
You can copy and paste this into a file of type .reg and double-click it to run it.
From here
- 225
Those kinds of options on the right-click menu are assigned per file type. If you're only interested in targeting a few file types, you can remove the print command from those file types.
For example, for PDF documents, go to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pdf and look at the default value. On my computer, the value is AcroExch.Document. So then you would go to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AcroExch.Document\Shell and delete the print subkey.
- 23,272
You can use REG QUERY to pull back an array of registry items that end in 'shell\print'. Using an elevated PowerShell prompt you can filter the results and pipe to REG DELETE to remove them.
# get an array of
$regprint = REG QUERY HKCR /f print /s /e /k | ?{$_ -like '*shell\print'}
# here you can check the array to make sure it is what you want to remove
# and you can pipe it into REG DELETE
$regprint.foreach({REG DELETE $_ /va /f})
- 131
For entire classes, and this works especially well to get rid of EDIT and PRINT for all images (which are useless entries, in my opinion), go to:
HKEY_CLASSES_ROOT\SystemFileAssociations\image, go to the node containing the command you want to disable, and make a new STRING value entitled "LegacyDisable" under that node.
So, for example, if you want to disable "edit", go to HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit, and make a new STRING value entitled "LegacyDisable" under that node.
You can use ShellMenuView to edit or disable any context menu item, and you can also jump to the registry entry for editing.
- 111
disable_print.bat
@setlocal
@echo off
echo wait ~minute
@for /F "tokens=*" %%a in ('REG QUERY HKCR /f print /e /s /k ^| findstr /i /r .print$')
do (
echo %%a
reg add %%a /v LegacyDisable /t REG_SZ
)
- 61
Love the answers posted, but I prefer to hide/disable. source
If you want to hide one of these items so that you’ll have to Shift+Right-Click, then you can add a new string value on the right-hand side and name it “Extended” like you can see below:
If you’d like to disable it instead, but don’t want to delete the key, you can add a new string value and call it “LegacyDisable”.
- 922
- 101


