Answers:
我发现这在更改Edit所做的工作上是完美无缺的,您可以选择所需的任何程序。
打开注册表编辑器:开始→ regedit
导航 HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit\command
在右侧双击,然后Default
将值更改为"C:\YOUR_PATH_HERE\APPLICATION.exe" "%1"
这具有为Windows 7认为图像的所有文件更改它的优点。
资料来源:m-schmidt.eu
这些菜单称为上下文菜单,有一个名为ShellMenuView的程序http://www.nirsoft.net/x64_download_package.html包含 32位或64位
它可以显示这些上下文和类项目,然后单击鼠标右键,可以将您置于其位置的注册表编辑器中,然后从此处进行编辑。
当程序打开regedit并将您跳转到某个键时,有时注册表跳转不会到达正确的位置。只需选择注册表中的第一项或关闭regedit,然后它将起作用。
更改注册表之前,最好先备份注册表。
我测试了您想做什么,并且您必须更改要更改的图片类型的所有类。因此,我想一个更快的方法可能是在整个注册表中搜索MsPaint程序,然后仔细地逐个替换它。[F3]在regedit中进行下一步查找。
一个具有相同名称的程序,或对该程序的重新打包,都曾报告是木马。确保从来源或可靠的位置获得它。并对其进行扫描,确定吗?
这是我应该使用的第一个答案,但我没有测试正确。这在眼睛上更加困难,并且更加危险。
自动运行 http://technet.microsoft.com/en-us/sysinternals/bb963902
该程序由出色的System Internals制作,是系统上运行的所有方式和事物的最全面的视图之一。您可以通过选择,禁用,启用和删除项目来使用它修复或破坏系统。我建议您为系统提供完整的映像备份,并建议您在自动运行时保存设置,然后再处理其中的问题。
默认情况下,不显示“ microsoft”条目。这是查看第三者和系统附加内容的好方法。可以更安全地禁用的项目。
要获得整体视图,您需要转到|选项|。并显示Microsoft和Windows条目。现在(保持您的眼睛)转到| File | 并点击|刷新| (或F5)。
现在查看| explorer | 标签,您将看到“上下文菜单处理程序”,“属性”表以及所有内容。这应该允许您禁用/删除和完全删除菜单项,跳转到注册表中的项,然后跳转到其文件位置的项。
免责声明:拥有系统的完整映像备份,不需要系统进行恢复(例如从CD或USB记忆棒启动)。要非常小心 您现在处于控制状态:-)
UPDATE找到了一种粗略而优雅的方法,但是它可行!
将其保存为paint.bat
PATH中所有用户都可以找到的位置,例如C:\ Windows:
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
将其另存为replace_mspaint_with_paintdotnet.reg
,然后使用Windows资源管理器双击它,将其合并到注册表中(需要管理员权限):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe]
"Debugger"="paint.bat"
现在,在任何常用图像文件类型上使用“编辑”上下文菜单时,将使用PaintDotNet而不是MS Paint。
立即停止阅读,除非您是喜欢粗俗细节的人。
在@Psycogeek的两个答案中列出的实用程序之间,我非常沮丧地接近完整的解决方案,但还不够接近。我在这里发布部分补救措施,以防其他人可以提供丢失的物品。
“ autoruns
图像劫持”选项卡显示伪装成与它们等效的MS程序,使用此方法的常见示例是Notepad2代替Notepad和Process Explorer代替Task Manager。
notepad2说,两次单击劫机之一,即可在Regedit中打开相关条目。我将该密钥导出到磁盘,然后将记事本条目更改为paindotnet条目。
我合并了更改后的.reg文件,刷新了自动运行程序,并确定有足够的新mspaint条目。
此时,以前用于mspaint的任何调用现在都将重定向到PaintDotNet.exe,是的!例如:
mspaint
在命令外壳中C:\Windows\system32\mspaint.exe
从任何地方不幸的是,在每次调用时Paintdotnet都说无法识别图像类型,因此无法打开该图像类型。:( :(
在命令行shell中进行的一些测试表明,通过将空引号传递给PdN会得到相同的错误。
C:\> "C:\Program Files\Paint.NET\PaintDotNet.exe" " "
因此,我认为出于某种原因,目标文件的路径在PdN看到之前就已被篡改。我一直无法弄清楚如何查看PdN实际得到了什么,因此也许想出最后的解决方法。
这是replace_mspaint_with_paintdotnet.reg
,它用PdN替换了mspaint.exe,并复制了上面的错误:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe]
"Debugger"="\"C:\\Program Files\\Paint.NET\\PaintDotNet.exe\""
使用此调试paint.bat
来捕获用于启动批处理文件的命令行%TEMP%
:
@echo %* > "%temp%\%~nx0.txt"
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
添加这样的行notepad %*
表明未识别出图像错误是因为在第一种方法中,PdN试图将实际的 c:\ windows \ system32 \ mspaint.exe 加载为图像,而从不看到任何其他参数。由于某些原因,我不理解在批处理文件中使用%2
代替通常%1
的方法是可行的,但是当直接调用PdN时则不能。
ew!这是一个艰难的过程。全面了解绕过批处理文件需求的非复杂解决方案。:)
我的笔记本电脑(Win 8.1)上的右键单击菜单正在打开MS Picture Manager,我更喜欢使用Paint作为“ Edit”(编辑)选项,它非常适合添加文本和其他图片管理器无法执行的操作。我将图片管理器用作我的默认照片应用程序,它可以快速轻松地调整尺寸,裁剪和调整颜色。如果您不使用Picture Manager,则此过程对您不起作用。后果自负。但是您可以测试使用ShellMenuView禁用当前列出的照片编辑程序。(首先创建系统还原点)在开始之前备份每个指示的注册表项。我使用Nirsoft ShellMenuView程序找到图片管理器和Paint的注册表键,然后找到每个的shell编辑注册表键,并简单地将shellEdit命令从一个交换到另一个。对于MS Picture Manager,我使用了:
C:\PROGRA~2\MICROS~2\Office14\OIS.EXE
(从最后删除了shellEdit)
对于油漆,我使用了:
%.systemroot%\system32\mspaint.exe /shellEdit "%1"
(将shellEdit“%1”添加到末尾)
关闭regedit后,我点击了Nirsoft ShellMenuView中的红色“停止”按钮,进入了MS Picture Manager编辑条目。(我认为这会删除注册表中的shell条目,因此根本不需要进行编辑__(ツ)_ /
开始之前,请备份注册表项!祝你好运,希望这会有帮助
Nirsoft ShellMenuView技巧对Psycogeek表示敬意