.Exe dosya uzantısını Windows'ta bir programla nasıl ilişkilendirirsiniz?


16

Birkaç yıl önce, bir kişinin .exedosya uzantısını Internet Explorer ile ilişkilendirerek birisinin şaka yaptığını gördüm . Bu, Internet Explorer, kişi her program başlatmak istediğinde açılmasını sağlamıştır.

Ne yazık ki, bunun nasıl yapıldığını unuttum. Default Programs > Set AssociationsDenetim Masası aracını kullanmaya çalıştım , ancak listelemedi .exe.

Bu dosya ilişkilendirmesi nasıl ayarlanabilir ve belki daha da önemlisi, dosya nasıl çözülebilir?


bir toplu virüs üzerinde google arama
RobotHumans

Yanıtlar:


20

Böyle "şakalar" yaparken, sadece adım adım bir öğretici veya toplu bir komut dosyası takip etmek yeterli değildir; gerçek verilerin nasıl saklandığı hakkında bir şeyler bilmek en iyisidir - daha sonra kurtarılması daha kolay hale gelir.

Tüm dosya ilişkilendirmeleri regedit veya reg kullanılarak düzenlenebilen Kayıt Defteri'nde tutulur . Kabuk onları (sistem çapında) ve (kullanıcı-yerel) HKEY_CLASSES_ROOTbirleştirilmiş bir görünüm altında arar .HKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes

  • [ HKEY_CLASS_ROOT]
    • [ .txt]
      • (default) = " txtfile" - HKCR altındaki başka bir tuşa işaretçi
    • [ txtfile]
      • (default) = " Text Document" - Gezgin'de gösterildiği gibi metin açıklaması
      • [ shell] - çift tıklama ve bağlam menüsü için kullanılacak işlemler
        • (varsayılan) = (ayarlanmadı) - çift tıklamada kullanılacak eylem; varsayılan olarak " open"
        • [ open]
          • (varsayılan) = (ayarlanmadı) - etiket bağlam menüsünde görüntülenir; varsayılan olarak " Open"
          • [ command]
            • (varsayılan) = " %SystemRoot%\system32\NOTEPAD.EXE %1"

Çoğu uzantı için, değer aynı HKCR altındaki bir dosya türü anahtarını gösterir; örneğin, işaret eder .HKCR\.extn\(Default).exeHKCR\exefile

(Bununla birlikte, nadir durumlarda, tüm bilgiler doğrudan açıklamayı içeren uzantının anahtarı altındadır . Ancak bunlar çok nadir görünmektedir - belki de Windows 9x veya 3.x'in artıkları ...)HKCR\.extn\(Default)

Yedekleme yapın. reg save HKLM\Software\Classes hklm-classes.hivAyrıca, Komut İstemi'nin uzantıları umursamadığını unutmayın; yürütülebilir bir program çalıştırmayı denerseniz, nasıl adlandırılırsa veya uzantısının ne ile ilişkili olursa olsun her zaman çalışır.


1
Böyle bir değişiklik yapmadan önce kayıt defterini dışa aktarın! :)
HaydnWVN

@HaydnWVN: bununla reg saveilgilenir (ve ayrıca reg exportatlanacak meta verileri içerir ).
user1686

Ah üzgünüm, Yedekleme düzenleme düzenlemeniz gönderilmeden önce yanıtlandı ! ;)
HaydnWVN

1
Ham kayıt defterini görüntülemenin burada bir şeyler yapmanın biraz zor yolu olduğunu unutmayın. Microsoft'un birlikte gelen komut yorumlayıcısında komutlar vardır FTYPEve ASSOCdosya türü listesine doğrudan Windows Gezgini'ndeki iletişim kutularından da erişilebilir .
JdeBP

@JdeBP: AFAIK, Windows Vista Explorer'daki düzenleyiciden kurtuldu - şimdi sadece varsayılan eylemi seçiyor. (Yine de daha derin kazmadım; hala XP'yi burada kullanıyorum.) Ayrıca, grafik regeditgüzel bir genel bakış sunuyor.
user1686

2

Bunu dene:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
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.