GÜNCELLEME Kaba ve beceriksiz bir yöntem buldu, ama işe yarıyor!
Bunu paint.batPATH'de, C: \ Windows gibi tüm kullanıcılar tarafından bulunacağı bir yerde kaydedin :
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Bunu farklı kaydedin replace_mspaint_with_paintdotnet.regve Windows Gezgini ile çift tıklatarak kayıt defterine birleştirin (yönetici ayrıcalıkları gerektirir):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe]
"Debugger"="paint.bat"
Şimdi her zamanki görüntü dosyası türlerinde Bağlam Düzenle menüsünü kullanmak MS Paint yerine PaintDotNet kullanacaktır.
Cesur ayrıntıları seven tip değilseniz, şimdi okumayı bırakın.
Her iki @ Psycogeek'in cevaplarında listelenen yardımcı programlar arasında sinir bozucu bir şekilde tam bir çözüme yaklaştım, ancak yeterince yakın değilim. Başka birinin eksik parçayı sağlayabilmesi için kısmi çareyi buraya gönderiyorum.
autoruns Görüntü hijacks onların MS eşdeğer olması bahane ediyoruz sekme gösterileri programları, bu yöntem kullanılarak popüler örnekleridir Notepad2 Notepad yerine ve Process Explorer Görev Yöneticisi yerine.
Notepad2'nin söylediği gibi, kaçırmalardan birine 2 kere tıklandığında Regedit'te ilgili giriş açılır. Bu anahtarı diske verdim ve not defteri girdilerini paindotnet girişlerine değiştirdim.
Bu değişen .reg dosyasını birleştirdim, Otomatik Çalıştırmaları yeniledim ve yeterince yeni mspaint girdisi var.
Bu noktada mspaint'e gitmek için kullanılan çağrılar artık PaintDotNet.exe, yay! Örneğin:
- Başlat> Çalıştır> mspaint
mspaint komut kabuğunda
- Windows Gezgini'nde bir foobar.jpg seçin ve İçeriği düzenle menüsünü kullanın
C:\Windows\system32\mspaint.exe herhangi bir yerden
Ne yazık ki, her çağrıda Paintdotnet diyor ki görüntü türü tanınmıyor ve açılamıyor. :( :(
Komut satırı kabuğundaki bazı testler, PdN'ye boş tırnaklar ileterek aynı hatayı aldığımı ortaya koyuyor.
C:\> "C:\Program Files\Paint.NET\PaintDotNet.exe" " "
Bence nedense PdN onu görmeden önce hedef dosyanın yolu karışıyor. PdN'nin gerçekte ne aldığını nasıl anlayacağımı bulamadım ve bu nedenle belki de son çareyi tasarladım.
İşte replace_mspaint_with_paintdotnet.regPDN ile MSPAINT.EXE değiştirir ve yukarıdaki hatayı kopyalayan:
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\""
paint.batToplu iş dosyasını başlatmak için kullanılan komut satırını yakalamak için bu hata ayıklamayı kullanın %TEMP%:
@echo %* > "%temp%\%~nx0.txt"
@start /b "Paint" "c:\Program Files\Paint.NET\PaintDotNet.exe" %2
Gibi bir çizgi eklemek notepad %*, görüntünün tanınmadığı hatasını ortaya çıkarır, çünkü ilk yöntemde PdN gerçek c: \ windows \ system32 \ mspaint.exe dosyasını bir görüntü olarak yüklemeye çalışıyor ve başka hiçbir parametre görmüyor. Nedenler %2yerine %1toplu iş dosyasında normal yerine kullanarak anlamıyorum , ama doğrudan PdN çağrıldığında değil.
Whew! Bu zor bir işti. Bir toplu iş dosyasına olan ihtiyacı atlayan kludgy olmayan çözümler çok takdir edilecektir. :)