CẬP NHẬT Tìm thấy một phương pháp thô và không phù hợp, nhưng nó hoạt động!
Lưu cái này như paint.bat
một nơi nào đó trong PATH, nơi tất cả người dùng sẽ tìm thấy nó, chẳng hạn như C: \ Windows:
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Lưu cái này dưới dạng replace_mspaint_with_paintdotnet.reg
và hợp nhất nó vào sổ đăng ký bằng cách nhấp đúp vào nó với Windows Explorer (yêu cầu quyền quản trị viên):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe]
"Debugger"="paint.bat"
Bây giờ bằng cách sử dụng menu Chỉnh sửa ngữ cảnh trên bất kỳ loại tệp hình ảnh thông thường nào sẽ sử dụng PaintDotNet thay vì MS Paint.
Ngừng đọc ngay bây giờ trừ khi bạn là loại thích chi tiết nghiệt ngã.
Giữa các tiện ích được liệt kê trong cả hai câu trả lời của @ Psycogeek, tôi đã bực bội gần với một giải pháp hoàn chỉnh, nhưng không đủ gần. Tôi đang đăng bài khắc phục một phần ở đây trong trường hợp người khác có thể cung cấp phần còn thiếu.
Các autoruns
hình ảnh hijacks tab hiển thị các chương trình đó đang giả vờ là tương đương MS của họ, ví dụ phổ biến sử dụng phương pháp này là Notepad2 thay thế Notepad và Process Explorer thay thế Task Manager.
Nhấp chuột vào một trong những vụ không tặc, notepad2 nói, sẽ mở mục liên quan trong Regedit. Tôi đã xuất khóa đó sang đĩa, và sau đó thay đổi các mục notepad thành các mục paindotnet.
Tôi đã hợp nhất tệp .reg đã thay đổi đó, Autorun được làm mới và chắc chắn mục nhập mspaint mới có ở đó.
Tại thời điểm này, bất kỳ cuộc gọi nào được sử dụng để chuyển đến mspaint hiện được chuyển hướng đến PaintDotNet.exe, yay! ví dụ:
- Bắt đầu> Chạy> mspaint
mspaint
trong một vỏ lệnh
- Chọn một foobar.jpg trong Windows Explorer và sử dụng menu Chỉnh sửa ngữ cảnh
C:\Windows\system32\mspaint.exe
từ bất cứ nơi nào
Thật không may, trên mỗi lời mời Paintdotnet nói Loại hình ảnh không được nhận dạng và không thể mở được. :( :(
Một số thử nghiệm trong shell dòng lệnh cho thấy tôi gặp lỗi tương tự bằng cách chuyển các trích dẫn trống cho PdN.
C:\> "C:\Program Files\Paint.NET\PaintDotNet.exe" " "
Vì vậy, tôi nghĩ vì một số lý do, đường dẫn của tệp mục tiêu bị xáo trộn trước khi PdN nhìn thấy nó. Tôi đã không thể tìm ra làm thế nào để xem PdN thực sự nhận được gì, và do đó có lẽ đã nghĩ ra biện pháp khắc phục cuối cùng.
Đây là replace_mspaint_with_paintdotnet.reg
, thay thế mspaint.exe bằng PdN và sao chép lỗi ở trên:
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\""
Sử dụng gỡ lỗi này paint.bat
để nắm bắt dòng lệnh được sử dụng để bắt đầu tệp bó trong %TEMP%
:
@echo %* > "%temp%\%~nx0.txt"
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Thêm một dòng như notepad %*
tiết lộ rằng hình ảnh không được công nhận lỗi là bởi vì trong phương pháp đầu tiên PDN đang cố gắng tải các thực tế c: \ windows \ system32 \ mspaint.exe như một hình ảnh và không bao giờ nhìn thấy bất kỳ thông số khác. Vì lý do tôi không hiểu sử dụng %2
thay vì thông thường %1
trong tệp bó hoạt động, nhưng không phải khi PdN được gọi trực tiếp.
Phù! Đây là một trong những khó khăn. Các giải pháp không chứa bùn mà bỏ qua nhu cầu về tệp bó sẽ được đánh giá cao. :)