ข้อผิดพลาด ShellExecute ล้มเหลว (2) สำหรับ Notepad ++ บน Windows 7 64 บิต


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-Bit

ฉันหาข้อผิดพลาดนี้ไม่พบ หรือนี่เป็นเพียงปัญหาการกำหนดค่า Windows 7 บางส่วน


4
Notepad ++ ทำงานได้ดีใน Win 7 x64 ของฉัน ลองติดตั้งใหม่
Sathyajith Bhat

ฉันพยายามติดตั้งลงในไฟล์โปรแกรมแทนไดเรกทอรีไฟล์โปรแกรม x86 สิ่งนี้ไม่ได้แก้ปัญหา ฉันคิดว่าปัญหาคือส่วนขยายของเชลล์กำลังทำงานจาก DLL ที่ไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ ฉันเชื่อว่าเป็น NppShell_04.dll ดังนั้นถ้าเราหาวิธีบอก Windows 7 ให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบนั้นทำงาน
Steve

-1 คุณควรรวมคำหลักจากข้อผิดพลาดไว้ในชื่อแล้วผู้คนจะรู้ก่อนที่พวกเขาจะคลิก
barlop

คำตอบ:


3

ฉันมี Windows 7 64 บิตและฉันทำงานกับ Notepad ++ เป็นเวลานานกว่าหนึ่งปีในการติดตั้ง Windows 7 64 บิตที่แตกต่างกันและฉันไม่เคยเห็นข้อผิดพลาดดังกล่าวมาก่อน คุณลองถอนการติดตั้งเสร็จสมบูรณ์เรียกใช้ CCleaner และติดตั้ง Notepad ++ อีกครั้งหรือไม่


7
CCleaner จะไม่สร้างความแตกต่างเล็กน้อยที่นี่ การติดตั้งใหม่ควรจะแก้ไข
Billy ONeal

ฉันลองติดตั้งใหม่แล้วนั่นเป็นเรื่องตลก ฉันไม่แน่ใจว่าปัญหาคืออะไรฉันจะลองถอนการติดตั้งตรวจสอบรายการรีจิสทรีและทำการติดตั้งแบบเต็มอีกครั้ง
Jakub

2
ฉันลองใช้วิธีถอนการติดตั้งและทำความสะอาดรีจิสทรีของข้อมูลNotepad++อ้างอิงทั้งหมดอย่างสมบูรณ์ การติดตั้งใหม่ใช้งานได้ แปลก ...
จาคุบ

1
นี่เป็นคำตอบที่ไม่ดีจริงๆ มันควรจะเป็นความคิดเห็นที่ดีที่สุด
Brian Webster

178

สิ่งนี้เกิดขึ้นเมื่อคุณตั้งค่า Notepad ++ ให้ทำงานในฐานะผู้ดูแลระบบของ Windows 7

เข้าสู่รีจิสทรีของคุณในฐานะผู้ดูแลระบบและค้นหา notepad ++. exe ค้นหาคีย์ภายใต้HKEY_CLASSES_ROOTที่มีรายการด้วยEdit with Notepad++(หรืออาจจะEdit with &Notepad++) และลบคีย์ทั้งหมด คลิกขวาและคุณจะเห็นว่าคุณไม่มีตัวเลือกนั้นอีกต่อไป

ตอนนี้เราสร้างใหม่อีกครั้ง:

  1. ไปที่:

    HKEY_CLASSES_ROOT\*\shell
    
  2. สร้างคีย์ใหม่ภายใต้เชลล์ชื่อOpenWithNotepadและสร้างคีย์ย่อยภายใต้ชื่อcommandนั้น

  3. ในOpenWithNotepadคีย์สตริงเริ่มต้นคือสิ่งที่คุณต้องการให้เรียกรายการเมนูบริบท Open with Notepad++ผมตั้งค่าให้

  4. ยังคงอยู่ในOpenWithNotepadที่สำคัญสร้างค่าสตริงใหม่ที่เรียกว่าiconและตั้งค่าเพื่อpath-to-notepad++.exeที่เส้นทางไป Notepad ++. exeC:\Program Files\Notepad++\notepad++.exeควรจะเป็นเส้นทางที่เต็มรูปแบบเช่น

  5. ภายใต้การcommandแก้ไขที่สำคัญค่าสตริงเริ่มต้นและเปลี่ยนเป็น"path-to-notepad++.exe" "%1"ที่เส้นทางไป Notepad ++. exeC:\Program Files\Notepad++\notepad++.exeควรจะเป็นเส้นทางที่เต็มรูปแบบเช่น

เมื่อคุณคลิกขวาที่ตัวเลือกนี้ตอนนี้คุณควรถามคุณอย่างถูกต้องว่าให้สิทธิ์ผู้ดูแลระบบ Notepad ++ สำหรับไฟล์

คุณยังต้องไปที่คุณสมบัติสำหรับแผ่นจดบันทึก ++. exe และตั้งค่าให้เรียกใช้ในฐานะผู้ดูแลระบบ


2
นี่เป็นคำตอบเดียวที่ให้ฉันยังใช้ "Open as administrator" กับ Notepad ++ ได้สำเร็จ
Allbite

4
ทำงานอย่างสมบูรณ์แบบสำหรับฉันใน Windows8 ด้วย ขอบคุณ
LDJ

9
รายการรีจิสตรีของฉันคือ "แก้ไขด้วย & Notepad ++"
Greg Woods

1
นอกจากนี้เราจะรวมสิ่งนี้เข้ากับวิธีปิดคำเตือนของ UAC ได้อย่างไร ทุกสิ่งที่ฉันสามารถหาได้ใช้ทางลัด อย่างไรก็ตามการแก้ไขรีจิสทรีนี้ชี้ไปยังไฟล์ที่เรียกทำงานได้โดยตรง เพราะขอตรงไปตรงมาเกือบจะแย่กว่าการคลิกขวา "แก้ไขด้วย Notepad ++" ไฟล์ 10 ไฟล์จากนั้นจัดการกับ 10 UAC พรอมต์มากกว่าบันทึกทุกอย่างไปยังโฟลเดอร์ชั่วคราวแล้วย้ายไปยังปลายทางตามที่จำเป็นโดยไม่ต้องใช้ Notepad ++ ผู้บริหาร
Ariane

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\""

คัดลอกลงใน Notepad และบันทึกด้วยนามสกุล. reg ปิดแผ่นจดบันทึกแล้วดับเบิลคลิกที่ไฟล์


2
ให้แน่ใจว่าคุณคัดลอกบรรทัดแรกเช่นกัน
CrnaStena

สิ่งนี้ใช้ได้กับฉันใน Win8 x64 มันให้ฉันซ้ำดังนั้นฉันต้องติดตั้ง Notepad ++ ใหม่ก่อนจากนั้นจึงปิดการใช้งานตัวเลือกเมนูบริบทในตัวติดตั้ง ขอบคุณ
Aske B.

ขอบคุณที่ทำงานกับฉัน! ฉันคิดว่าไฟล์ "NppShell_06.dll" เป็นจุดบกพร่องของรุ่น windows หรือระบบปฏิบัติการอื่น ๆ
KingRider

ใช้งานได้กับ Win10 x64
Harlandraka

บรรทัดที่ 3 ควรเป็น @ = "แก้ไขด้วย & Notepad ++ (ในฐานะผู้ดูแลระบบ)"?
PotatoFarmer

27

บนเครื่อง Windows 7 ของฉัน (32 บิต) ฉันตั้ง notepad ++ ให้ทำงานในฐานะผู้ดูแลระบบทำให้ส่วนขยายเชลล์ explorer หยุดทำงานกับข้อผิดพลาด "Shell Execute failed" ปิดใช้งานการตั้งค่านี้ (คลิกขวาคุณสมบัติความเข้ากันได้ ... ) แก้ไขปัญหาได้ บางทีนี่อาจเป็นสาเหตุของปัญหาของคุณ? (ตอนนี้สิ่งที่ฉันต้องการคือส่วนขยายเชลล์ "แก้ไขใน Notepad ++ ในฐานะผู้ดูแลระบบ")


การแก้ไขปัญหาสำหรับฉัน
AaronLS

1
มันก็ใช้ได้กับฉันเช่นกัน ฉันใช้ windows 7 ultimate 64 บิต
TryHarder

1
เหมือนกันที่เกิดขึ้นกับฉันเมื่อฉันตรึง Notepad ++ ไปที่แถบงานและตรวจสอบ Shift + คลิกขวา -> คุณสมบัติ -> ความเข้ากันได้ -> เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ การยกเลิกการเลือกและเลือกทางลัด -> ขั้นสูง -> เรียกใช้ในฐานะผู้ดูแลระบบช่วย
เกินไป

14

ฉันเพิ่งอัพเกรด Notepad ++ และฉันเริ่มรับข้อผิดพลาด "ShellExecute ล้มเหลว" นี้เมื่อพยายามใช้คุณลักษณะเมนูบริบท "แก้ไขในแผ่นจดบันทึก ++"

ในขณะที่ฉันพบรายงานข้อผิดพลาดนี้ออนไลน์จำนวนมากไม่มีวิธีแก้ปัญหาที่ฉันเห็นว่าทำงานได้บนเครื่องของฉัน

นี่คือขั้นตอนที่ฉันใช้เพื่อแก้ไขปัญหา:

  1. คลิกขวาที่ notepad ++. exe ในโฟลเดอร์โปรแกรม Notepad ++
  2. เลือกรายการเมนูคุณสมบัติ
  3. เลือกแท็บความเข้ากันได้
  4. เมื่อ“ เปิดใช้งานโปรแกรมนี้ในฐานะผู้ดูแลระบบ” เปิดใช้งานสำหรับผู้ใช้ปัจจุบันเท่านั้นคุณสามารถปิดใช้งานได้โดยคลิกที่ช่องทำเครื่องหมาย
  5. มิฉะนั้น "เปิดใช้งานโปรแกรมนี้ในฐานะผู้ดูแลระบบ" เปิดใช้งานสำหรับผู้ใช้ทั้งหมดและคุณต้องคลิกที่ "เปลี่ยนการตั้งค่าสำหรับผู้ใช้ทั้งหมด" ก่อนจากนั้นคุณสามารถปิดการใช้งานตัวเลือก

ฉันสร้างภาพสำหรับแต่ละสถานการณ์เหล่านี้และแนบไว้ด้านล่าง

ฉันเน้น "เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ" ทั้งในภาพและเน้นปุ่ม "เปลี่ยนการตั้งค่าสำหรับผู้ใช้ทั้งหมด" เป็นสีเขียวสำหรับสถานการณ์ที่ตัวเลือกเปิดใช้งานสำหรับผู้ใช้ทั้งหมด

RunAsAdmin CurrentUser Scenario RunAsAdmin AllUsers Scenario


ขอบคุณมาก ๆ ที่แก้ไขมัน ให้ภาพก่อนที่จะเล่นกับ Registry หากวิธีนี้ใช้ไม่ได้ผลให้ข้ามไปที่การแก้ไขรีจิสทรี
RuntimeException

4

ถอนการติดตั้งทำความสะอาดรีจิสทรีและติดตั้งใหม่ไม่ทำงานสำหรับฉัน ฉันไม่ได้ทำงานในโหมดความเข้ากันได้เพื่อที่จะไม่เป็นปัญหาของฉัน

สิ่งที่เป็นปัญหาสำหรับฉันคือฉันเลือกตัวเลือก "เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ" ในแท็บความเข้ากันได้ ฉันได้เปิดใช้ตัวเลือกนี้เพื่อให้สามารถบันทึกได้เช่นไฟล์โฮสต์ หลังจากยกเลิกการเลือกในที่สุดฉันก็สามารถคลิกขวาและแก้ไขไฟล์โดยใช้ NotePad ++ อีกครั้ง


นี่เป็นการแก้ไขที่ง่าย เริ่มต้นเส้นทางของการ regedit และไปฮึ พยายามนี้ทำงานได้อย่างสมบูรณ์
jcollum

3

สิ่งนี้จะเพิ่มในโพสต์ของ @John Swaringen ด้านบนพร้อมตัวระบุเพิ่มเติมสำหรับรายการเมนูผู้ดูแลระบบ ก่อนที่จะใช้การเปลี่ยนแปลงเหล่านี้จึงเป็นสิ่งสำคัญเพื่อให้แน่ใจว่าไม่มี ++ 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 ++ ในไดเรกทอรี "ไฟล์โปรแกรม" ปกติไม่ได้อยู่ใน "ไฟล์โปรแกรม (x86)" เส้นทางเพิ่งเกิดความสับสน :)

หวังว่ามันจะช่วย!


1

ฉันมีปัญหาเกี่ยวกับ Notepad ++ (บน 5.9) ที่เกี่ยวข้องกับการเปิด / แก้ไขไฟล์ผ่านส่วนต่อประสาน explorer (ทั้งคลิกโดยตรงเพื่อเปิดและคลิกขวาเพื่อแก้ไข .. ฯลฯ ) วิธีแก้ปัญหาสำหรับฉันคือการติดตั้ง Notepad ++ ใน C: \ Program Tools \ Notepad ++ \ - หากฉันลองติดตั้งตำแหน่ง "เป็นทางการ" Notepad ++ จะเปิดสิ่งต่าง ๆ เมื่อทำงานในโหมดผู้ดูแลระบบ (ซึ่งเป็น UAC ที่ปวดในตูด) คุณจะให้อภัยคนฝรั่งเศสของฉัน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.