PEMBARUAN Menemukan metode yang kasar dan tidak elegan, tetapi berhasil!
Simpan ini sebagai paint.bat
suatu tempat di PATH, di mana itu akan ditemukan oleh semua pengguna, seperti C: \ Windows:
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Simpan ini sebagai replace_mspaint_with_paintdotnet.reg
dan gabungkan ke registri dengan mengklik dua kali dengan Windows Explorer (memerlukan hak admin):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe]
"Debugger"="paint.bat"
Sekarang menggunakan menu Edit konteks pada salah satu jenis file gambar biasa akan menggunakan PaintDotNet sebagai gantinya MS Paint.
Berhentilah membaca sekarang kecuali Anda adalah tipe orang yang suka detail yang kasar.
Di antara utilitas yang tercantum dalam kedua jawaban @ Psycogeek, saya dengan frustasi mendekati solusi lengkap, tetapi tidak cukup dekat. Saya memposting obat parsial di sini kalau-kalau ada orang lain yang bisa memberikan bagian yang hilang.
The autoruns
Gambar membajak tab menunjukkan program yang berpura-pura menjadi MS mereka setara, contoh populer menggunakan metode ini Notepad2 menggantikan Notepad dan Process Explorer menggantikan Task Manager.
2x mengklik salah satu pembajakan, notepad2 mengatakan, membuka entri yang relevan di Regedit. Saya mengekspor kunci itu ke disk, dan kemudian mengubah entri notepad menjadi entri paindotnet.
Saya menggabungkan file .reg yang diubah itu, Autoruns yang disegarkan, dan cukup yakin entri mspaint baru ada di sana.
Pada titik ini, panggilan apa pun yang dulu digunakan ke mspaint kini dialihkan ke PaintDotNet.exe, yay! misalnya:
- Mulai> Jalankan> mspaint
mspaint
dalam shell perintah
- Pilih foobar.jpg di Windows Explorer dan gunakan menu Edit konteks
C:\Windows\system32\mspaint.exe
dari mana-mana
Sayangnya, pada setiap permintaan Paintdotnet mengatakan Tipe gambar tidak dikenali, dan tidak dapat dibuka. :( :(
Beberapa pengujian di shell baris perintah mengungkapkan saya mendapatkan kesalahan yang sama dengan mengirimkan tanda kutip kosong ke PdN.
C:\> "C:\Program Files\Paint.NET\PaintDotNet.exe" " "
Jadi saya pikir untuk beberapa alasan path file target semakin rusak sebelum PdN melihatnya. Saya belum dapat menemukan cara untuk melihat apa yang sebenarnya didapatkan PdN, dan karena itu mungkin merancang obat terakhir.
Inilah replace_mspaint_with_paintdotnet.reg
, yang menggantikan mspaint.exe dengan PdN, dan mereplikasi kesalahan di atas:
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\""
Gunakan debugging ini paint.bat
untuk menangkap baris perintah yang digunakan untuk memulai file batch di %TEMP%
:
@echo %* > "%temp%\%~nx0.txt"
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Menambahkan baris seperti notepad %*
mengungkapkan bahwa gambar tidak diakui kesalahan karena dalam metode pertama PDN sedang mencoba untuk memuat sebenarnya c: \ windows \ system32 \ mspaint.exe sebagai gambar dan tidak pernah melihat parameter lainnya. Untuk alasan saya tidak mengerti menggunakan %2
alih-alih yang biasa %1
dalam file batch bekerja, tetapi tidak ketika PdN dipanggil langsung.
Wah! Ini yang sulit. Solusi non-kludgy yang memotong kebutuhan untuk file batch akan sangat dihargai. :)