Windows 7 64位上的Notepad ++的ShellExecute失败(2)错误


98

Windows 7错误:此命令正确吗?

ShellExecute failed (2): Is this command correct? "C:\Program Files (x86)\Notepad++\notepad++.exe [location of file to edit]

我似乎对有点问题RIGHT CLICK > Edit with Notepad ++。这是在全新安装的Microsoft Windows 7 Professional 64位上。

我似乎找不到此错误的任何通知?还是这仅仅是一些Windows 7配置问题?


4
Notepad ++在我的Win 7 x64上可以正常工作。尝试重新安装
Sathyajith Bhat

我尝试安装到Program Files而不是x86程序文件目录,但这不能解决问题。我认为问题在于shell扩展是从没有管理访问权限的DLL运行的。我相信它是NppShell_04.dll,因此,如果我们弄清楚如何告诉Windows 7授予该管理访问权限运行,那么我们就很成功。
史蒂夫

-1您应该在标题中包含错误信息中的关键字,然后人们甚至在单击之前便会知道
barlop 2011年

Answers:


3

我有Windows 7 64位,并且在不同的Windows 7 64位安装上使用Notepad ++已有一年多了,我从未见过这样的错误。您是否尝试过完全卸载,运行CCleaner并再次安装Notepad ++?


7
CCleaner不会在这里有所作为。重新安装应该修复它,但是。
Billy ONeal,2010年

我试过重新安装,这很有趣。我不确定是什么问题,我将尝试卸载,检查注册表项,然后再次进行完整安装。
雅各布(Jakub)

2
我尝试了卸载方法,并彻底清除了所有Notepad++引用的注册表。一个新的重新安装工作。奇怪...
雅各布

1
这是一个非常糟糕的答案。充其量应该是一条评论。
布莱恩·韦伯斯特

178

这是由于将Notepad ++设置为在Windows 7上以管理员身份运行时引起的。

以管理员身份进入注册表,然后搜索notepad ++。exe。找到HKEY_CLASSES_ROOT具有Edit with Notepad++(或Edit with &Notepad++)条目的键,然后删除整个键。右键单击,您应该看到不再有该选项。

现在我们重新创建它:

  1. 去:

    HKEY_CLASSES_ROOT\*\shell
    
  2. 在名为shell的外壳下创建一个新密钥,OpenWithNotepad并在名为的外壳下创建一个子密钥command

  3. OpenWithNotepad键中,默认字符串是您要调用上下文菜单项的字符串。我将其设置为Open with Notepad++

  4. 还是在OpenWithNotepad关键,创建一个新的名为字符串值,icon并将其值设置到path-to-notepad++.exe哪里路径到记事本++。exe文件应该是完整路径,如C:\Program Files\Notepad++\notepad++.exe

  5. 根据command密钥编辑默认字符串值,并将其更改为"path-to-notepad++.exe" "%1"地方道路到记事本++。exe文件应该是完整路径,如C:\Program Files\Notepad++\notepad++.exe

右键单击此选项时,它现在应该正确询问您是否授予Notepad ++管理员访问文件的权限。

您仍然需要转到notepad ++。exe的属性,并将其设置为以管理员身份运行。


2
这是唯一成功使我仍然可以在Notepad ++中使用“以管理员身份打开”的答案。
2011年

4
在Windows8上也很适合我。谢谢。
LDJ 2012年

9
我的注册表项是“使用&Notepad ++编辑”
Greg Woods

1
另外,我们如何将其与关闭UAC警告的方法结合起来?我能找到的所有东西都使用快捷方式。但是,此注册表修复程序直接指向可执行文件。坦率地说,用鼠标右键单击“用Notepad ++编辑”一个10个文件,然后处理10个UAC提示,比将所有内容保存到一个临时文件夹然后将它们移动到目标位置要好得多,而不必运行Notepad ++管理员。
阿丽亚娜

1
@John Swaringen的答案比该手动操作容易得多,并且为我工作。
Beytan Kurt,

55

这是一个注册表文件,可能对每个人都有帮助:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad]
@="Edit with &Notepad++"
"icon"="C:\\Program Files (x86)\\Notepad++\\Notepad++.exe"

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad\Command]
@="\"C:\\Program Files (x86)\\Notepad++\\Notepad++.exe\" \"%1\""

将其复制到记事本中,并以.reg扩展名保存。关闭记事本,然后双击该文件。


2
确保您也复制第一行。
CrnaStena 2015年

这在Win8 x64中对我有用。但是它给了我一个副本,因此我必须先重新安装Notepad ++,然后在安装程序中禁用“上下文菜单”选项。谢谢。
Aske B.

感谢我的工作!我认为文件“ NppShell_06.dll”是Windows版本或其他OS的错误。
KingRider

在Win10 x64上工作
Harlandraka

第3行应该为@ =“使用&Notepad ++编辑(以管理员身份)”?
PotatoFarmer

27

在Windows 7计算机(32位)上,我将notepad ++设置为以管理员身份运行,从而导致资源管理器外壳扩展程序停止处理“ Shell Execute failed”错误。禁用此设置(右键单击,属性,兼容性...)可解决此问题。也许这是导致您出现问题的原因?(现在我所需要的只是一个“以管理员身份在Notepad ++中编辑”外壳扩展程序。...)


这为我解决了这个问题。
AaronLS 2011年

1
这也对我有用。我正在使用Windows 7 Ultimate 64位。
TryHarder 2012年

1
当我将Notepad ++固定到任务栏并单击Shift +右键单击->属性->兼容性->以管理员身份运行此程序时,我也遇到了同样的情况。取消选中并选择快捷方式->高级->以管理员身份运行会有所帮助。

14

我最近升级了Notepad ++,并且尝试使用“在Notepad ++中编辑”上下文菜单功能时开始出现“ ShellExecute failed”错误。

虽然我在网上发现了许多有关此错误的报告,但我所看到的解决方案都无法在我的机器上使用。

这是我用来解决问题的步骤:

  1. 右键单击Notepad ++程序文件夹中的notepad ++。exe。
  2. 选择“属性”菜单项。
  3. 选择兼容性选项卡。
  4. 仅针对当前用户启用“以管理员身份运行此程序”时,可以通过单击复选框来禁用。
  5. 否则,将为所有用户启用“以管理员身份运行该程序”,并且您必须先单击“更改所有用户的设置”,然后才能禁用该选项。

我为每种情况创建了一个图像,并在下面附加了它们。

在两个图像中,我都突出显示了“以管理员身份运行此程序”,并针对已为所有用户启用该选项的情况突出显示了绿色的“更改所有用户的设置”按钮。

RunAsAdmin CurrentUser方案 RunAsAdmin AllUsers方案


非常感谢Jeff。这样就解决了。在使用Registry之前先试一下。如果这不起作用,则跳至注册表修复。
2014年

4

卸载,清理注册表和重新安装对我而言不起作用。我也没有在兼容模式下运行,所以这可能不是我的问题。

对我来说,问题是我在兼容性选项卡中选中了“以管理员身份运行该程序”选项。我已启用此选项,以便能够保存例如hosts文件。取消选中此选项后,我终于可以再次使用NotePad ++右键单击并编辑文件。


这是一个简单的修复。从注册表编辑器的路径开始,走了。尝试了一下,完全可行。
jcollum 2012年

3

这将添加到上述@John Swaringen的帖子中,并带有Admin菜单项的其他标识符。在应用这些更改之前,重要的是要确定N ++确实已安装在C:\Program Files (x86)\Notepad++。如果不是,则必须在以下代码片段的相应部分中替换正确的安装路径。

所显示的是三个文件,这些文件在主驱动器上具有指向它们的链接,或者将代码复制到扩展名为.reg的文本文件中:

第一个仅用于“管理”菜单项:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad]
@="Edit with &N++ [Admin]"
"icon"="C:\\Program Files (x86)\\Notepad++\\Notepad++.exe"

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad\Command]
@="\"C:\\Program Files (x86)\\Notepad++\\Notepad++.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings]
"ShowIcon"=dword:00000000

第二个是菜单上的两个项目:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad]
@="Edit with &N++ [Admin]"
"icon"="C:\\Program Files (x86)\\Notepad++\\Notepad++.exe"

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad\Command]
@="\"C:\\Program Files (x86)\\Notepad++\\Notepad++.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings]
"ShowIcon"=dword:00000001

第三是完全删除“管理”项:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad]
"icon"=-

[HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad\Command]
@=""

[-HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad\Command]

[-HKEY_CLASSES_ROOT\*\shell\OpenWithNotepad]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings]
"ShowIcon"=dword:00000001

1

万一您还没有解决它,我遇到了同样的问题,并尝试了上述所有方法。我已经告诉Notepad ++在兼容模式下启动并出现该错误。关闭电源后,一切恢复正常。


1

就我而言,帮助的事情是将Notepad ++安装在常规的“ Program Files”目录中,而不是“ Program Files(x86)”中。路径只是搞砸了:)

希望能帮助到你!


1

关于Notepad ++(在5.9上),我一直存在通过资源管理器界面打开/编辑文件的问题(直接单击即可打开,右键单击即可编辑..etc)。对我来说,解决方案是在C:\ Program Tools \ Notepad ++ \中安装Notepad ++-如果我尝试任何“官方”安装位置,Notepad ++仅在以admin模式运行时才能正确打开内容(这是UAC的麻烦,如果你会原谅我的法语)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.