Uyumluluk modunu bir yürütülebilir dosyanın komut satırından nasıl ayarlayabilirim?


21

XP seçeneğiyle uyumluluğu ayarlamanın bir yolu var mı ?

Daha da iyisi, tüm bir dizine uyumluluğu (dizindeki yürütülebilir dosyalar) ayarlayabilmenin bir yolu var, böylece derlenen / derlenen her çalıştırılabilir dosya üzerinde zaten "bayrak" var mı?


1
@CodyGray - Çünkü eski bir derleyici IDE kullanıyorum (Win95'ten); Yenisine geçmek, şu an için hazırlıklı olmadığımız bazı maliyetleri doğuracaktır. Eğer onu kurar ve IDE'den başlatırsam, her şey çöker. Uyumluluk koyup kaşiften başlatırsam çalışır. Bu benim için yeterince iyi. Sadece derlemeden sonra her defasında uyumluluk bayrağını koymaktan hoşlanmıyorum. Bu nedenle soru ... :)
Rook

1
@CodyGray - Ben verebilir size bütün hikayeyi vermek ama sadece ... süre daha bir açık soru bırakacağım bu yüzden, commments burada (ya üçü) kutu içinde onu uyabilecek şüphe
Rook

1
Ah, bunu bir makalede okuduğumu hatırladığımı biliyordum. Sonunda buldum ve gelecek için bir cevap yayınladım. :-) Dırdırcığımı görmezden gelmekten çekinmeyin, ama alternatif bir yaklaşım bulacağınızdan cidden şüpheliyim.
Cody Gray,

Yanıtlar:


29

Uygulama uyumluluğu bayraklarını ayarlama veya değiştirme olanağı sağlayan bir araç bilmiyorum.

Ancak uygulama uyumlu bayrakları kayıt defterinde saklanır (kullanıcı veya sistem bölümü):

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Bu nedenle, gerekli girişi oluşturmak için standart komut satırı kayıt düzenleyicisini kullanabilirsiniz:

reg.exe Add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files\MyApp\Test.exe" /d "WINXPSP3"

Mevcut bayraklarla ilgili daha fazla bilgi için, Bir Uygulamayı Yönetici Olarak Çalıştırmak veya Uyumluluk Modunda görmek için blog yazısına bakın .


1
Hmm, bu sadece olabilir! eğer yeniden yapıldıysa?
Rook

2
Sağ tıklama> Özellikler> Uyumluluk normal davranışı, "Tüm kullanıcılar için ayarları değiştir" düğmesine basılmadığı sürece, HKCU altındaki tuşları ayarlamaktır. Daha sonra tüm kullanıcılar için HKLM altında ayarlanır ve iletişim kutusundan değiştirilemez.
Mike Brown


11

Robert'ın cevabı tam açıktı. Üzerini biraz genişletmek ve OP’nin toplu modunu ayarlama konusundaki sorusunu cevaplamak için ...

İşlemek için .exe dosyaları ile dolu bir klasör varsa, bunu yapabilirsiniz:

for %x in ("*.exe") do reg.exe Add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%~fx" /d "WINXPSP3"

Bu örnek, HKLM yerine HKCU kullanır; İstediğiniz birini seçtiğinizden emin olun.

Ayarları kaldırmak için, her biri için bir onay istemi ile:

for %x in ("*.exe") do reg.exe Delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "%~fx"

/fOnay istenmesini istemiyorsanız sona ekleyin .

(Bu cevabı oylarsanız, lütfen Robert’e de oy verin!)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.