題 在Windows 7 64位上,Notepad ++的ShellExecute失敗(2)錯誤


Windows 7 Error: Is this command correct?

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配置問題?


97
2017-11-19 21:30


起源


Notepad ++在我的Win 7 x64上運行良好。嘗試重新安裝 - Sathya♦
我試圖安裝到Program Files而不是x86程序文件目錄,這沒有解決問題。我認為問題是shell擴展是從沒有管理訪問權限的DLL運行的。我相信它是NppShell_04.dll所以如果我們弄清楚如何告訴Windows 7提供運行的管理訪問權限,那麼我們是金色的。 - Steve
-1你應該在標題中包含錯誤中的關鍵字,然後人們會在他們甚至點擊之前知道 - barlop


答案:


我有Windows 7 64位,我在使用Notepad ++工作了一年多,在不同的Windows 7 64位安裝上,我從未見過這樣的錯誤。您是否嘗試過完全卸載,運行CCleaner並再次安裝Notepad ++?


3
2017-11-19 23:24



CCleaner在這裡不會有太大的不同。重新安裝應該修復它,但。 - Billy ONeal
我試過重新安裝,這很有趣。我不確定是什麼問題,我將嘗試卸載,檢查註冊表項並再次進行完整安裝。 - Jakub
我嘗試了卸載方法,並完全清理了所有的註冊表 Notepad++ 引用。新的重新安裝工作。奇怪... - Jakub
這是一個非常糟糕的答案。它應該是評論,充其量。 - Brian Webster


當您將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 key默認字符串是您希望調用上下文菜單項的內容。我把它設置為 Open with Notepad++

  4. 還在 OpenWithNotepad key,創建一個名為的新字符串值 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的屬性並將其設置為以管理員身份運行。


177
2017-12-24 20:15



這是成功讓我仍然使用Notepad ++“以管理員身份打開”的唯一答案。 - Allbite
在Windows8上也完美地為我工作。謝謝。 - LDJ
我的註冊表項是“使用&Notepad ++編輯” - Greg Woods
另外,我們如何將其與關閉UAC警告的方法結合起來呢?我能找到的一切都使用捷徑;但是此註冊表修復程序直接指向可執行文件。因為坦率地說,右鍵單擊“使用Notepad ++編輯”10個文件,然後處理10個UAC提示,而不是將所有內容保存到臨時文件夾,然後將其移動到目標,這是必要的,而不必將Notepad ++作為管理員。 - Ariane
@John Swaringen的回答比這個手動操作簡單得多,並為我工作。 - Beytan Kurt


這是一個可能對每個人都有幫助的註冊表文件:

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擴展名保存。關閉記事本,然後雙擊該文件。


53
2018-02-15 06:55



確保你也複製第一行。 - CrnaStena
這在Win8 x64中對我有用。雖然它給了我一個副本,所以我必須首先重新安裝Notepad ++,然後在安裝程序中禁用Context Menu選項。謝謝。 - Aske B.
謝謝你的工作!我認為文件“NppShell_06.dll”是Windows版本或其他操作系統的錯誤。 - KingRider
適用於Win10 x64 - Harlandraka
第3行應該是@ =“用&Notepad ++編輯(作為管理員)”? - PotatoFarmer


在我的Windows 7計算機(32位)上,我將notepad ++設置為以管理員身份運行,這樣做導致explorer shell擴展程序停止使用“Shell Execute failed”錯誤。禁用此設置(右鍵單擊,屬性,兼容性...)解決了該問題。 也許這就是造成你問題的原因? (現在我需要的是“在Notepad ++中作為管理員編輯”shell擴展....)


27
2017-12-01 08:27



這解決了我的問題。 - AaronLS
這對我也有用。我使用的是Windows 7 ultimate 64bit。 - TryHarder
當我將Notepad ++固定到任務欄並檢查Shift +右鍵單擊 - >屬性 - >兼容性 - >以管理員身份運行此程序時,同樣的事情發生在我身上。取消選中並選擇快捷方式 - >高級 - >以管理員身份運行幫助。 - too


我最近升級了Notepad ++,當我嘗試使用“在Notepad ++中編輯”上下文菜單功能時,我開始收到此“ShellExecute failed”錯誤。

雖然我在網上發現了很多關於此錯誤的報告,但我看到的解決方案都沒有在我的機器上運行。

以下是我用來解決問題的步驟:

  1. 右鍵單擊Notepad ++程序文件夾中的notepad ++。exe。
  2. 選擇“屬性”菜單項。
  3. 選擇兼容性選項卡。
  4. 僅為當前用戶啟用“以管理員身份運行此程序”時,可以通過單擊複選框來禁用。
  5. 否則,將為所有用戶啟用“以管理員身份運行此程序”,並且必須先單擊“更改所有用戶的設置”,然後才能禁用該選項。

我為每個場景創建了一個圖像,並將其附加到下面。

我在兩個圖像中都突出顯示“以管理員身份運行此程序”,並為所有用戶啟用該選項的方案突出顯示“更改所有用戶的設置”按鈕。

RunAsAdmin CurrentUser Scenario RunAsAdmin AllUsers Scenario


13
2017-10-21 13:17



非常感謝杰夫。修好了。在使用Registry之前先試一試。如果這不起作用,則跳轉到註冊表修復。 - RuntimeException
這對我有用。謝謝 ! - knowledge_seeker


卸載,清理註冊表和重新安裝對我不起作用。我也沒有在兼容模式下運行,所以這不是我的問題。

對我來說問題是我在兼容性選項卡中選中了“以管理員身份運行此程序”選項。我已打開此選項以便能夠保存,例如hosts文件。取消選中後,我終於可以再次使用NotePad ++右鍵單擊並編輯文件。


4
2017-12-09 00:55



這是一個簡單的解決方案。沿著註冊路徑走下去,走了。試過這個,完全奏效了。 - jcollum


萬一你沒有得到修復,我有同樣的問題,並嘗試了以上所有。 我告訴Notepad ++以兼容模式啟動並得到了錯誤。關閉後,一切恢復正常。


1
2017-12-08 17:14