Makale numarası: 122787 - Son Gözden Geçirme: 11 Temmuz 2005 Pazartesi - Gözden geçirme: 2.4

Örnek: FileAsso.exe, dosya ilişkilendirmeleri nas?l kullan?laca??n? gösterir

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bir uygulamanın desteklediği belge türünü kaydedebilirsiniz böylece Windows, dosya ilişkilendirmelerinin sağlar. Düzenlemek veya yazdırmak için Dosya Yöneticisi'nde bir belgeyi çift tıklatın veya kullanıcının verdiğinden, bu yararlıdır. Dosya ilişkilendirmesi, ShellExecute() APı'SI tarafından da desteklenir. Dosya ilişkilerinin de birden çok belge uygulama Dosya Yöneticisi üzerinden tek bir örneğini açmak kullanıcının izin verir.

ShellExecute(), Windows 95'te daha fazla yararı vardır.

Daha fazla bilgi

Aşağıdaki dosya Microsoft Yükleme Merkezi'nden yüklenebilir:
FileAsso.exe (http://download.microsoft.com/download/platformsdk/sample19/1/w9xnt4/en-us/fileasso.exe)
Microsoft destek dosyalarını karşıdan yükleme konusunda ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
119591  (http://support.microsoft.com/kb/119591/EN-US/ ) Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır. Hem Dosya Aç ve Dosya ve yazdırma için aşağıdaki bilgiler geçerlidir. Okumayı kolaylaştırmak için Dosya Aç dosya ilişkilendirmeleri nasıl açıklamak için bu makalede anlatılmaktadır.

Kullanıcı bir belgeyi tıklattığında, Dosya Yöneticisi'ni, dosya adı ile ShellExecute() çağırır. ShellExecute() kaydı veritabanı, bu dosya uzantısı, belirli bir uygulama ile ilişkilendiren bir girdi için denetler. Bir girdi varsa ve DDE komutlarını belirtin, sonra ShellExecute(), kayıt defterinde belirtilen uygulama başlatır. DDE komutlarını kullanmak için kayıt defterini belirtir, ShellExecute() uygulama konu kullanarak, bu uygulama ile bir DDE görüşmesi kurmaya çalışır. DDE bağlantıları için bir uygulama yanıt verirse, ShellExecute() kayıt defterinde belirtilen bir DDE Yürüt komutu gönderir. Bu Konuşmaya üzerinde özelliklerini tanımlamak için uygulama kadar olduğu bağlanmak için özellikle hizmet ve konu adını ve doğru DDE komut sözdizimini kullanmak için yürütün. Ancak, konuşmayı kurma girişiminde başarısız olursa, ShellExecute() kayıt defterinde belirtilen uygulamayı başlatır ve DDE bağlantısı yeniden kurmaya çalışır.

Kullanılabilir bir daha fazla seçenek uygulamayı, hangi dosya yazdırma için uygun görünmektedir çalışmadığı zaman. Bu seçenek, farklı bir yürütme deyimini ShellExecute() gönderir, uygulama açın ve belgeyi yazdırmanız gerekir. Yazdırma tamamlandığında programından çıkar.

Bir uygulamanın birden çok dosya ilişkilendirme aracılığıyla tek bir uygulama örneği belgeleri açmak iki adımı vardır. Örneğin, MyApp uygulama ve AssocSupport konu varsayalım. Çoğu uygulama, uygulama adı ve bir sistem Uygulamam konu kullanın.
  1. Bir DDE sunucusu, uygulama başlatıldığında, uygulama adı ve konu (örneğin Uygulamam ve AssocSupport) ile kaydettirin. Uygulama DDE Yürüt ekstreleri desteklemek de vardır. Yürütme deyimini, herhangi bir biçimde olabilir; en düşük düzeyde olmalıdır:

    <action><filename><options>

    Burada <action>Aç veya yazıcı gibi bir eylem benzersiz kimliğini belirleyen bir şey var. <filename>Üzerinde işletilen dosyadır. Son olarak, <options>gereken geçirilmesi herhangi bir seçeneği olabilir.

    Tipik bir Execute deyimi bu biçimi aşağıdaki gibidir:

    [<action>(<filename>)]

    Örneğin, Microsoft Word kullanır:

    [Open("%1")] Uygulama, gerekli işlevselliği için yürütülen ifadeleri desteklemek vardır.
  2. Dosya ilişkilendirmesi, Windows NT Dosya Yöneticisi ya da regedit yapılabilir.

Dosya Yöneticisi'ni kullanarak dosya ilişkilendirmeleri ayarla

Dosya Yöneticisi ' ni kullanarak bir dosya türü ilişkilendirme, ilişkilendirDosya menüsünden seçin. Ilişkilendirin iletişim, varolan dosya ilişkilendirmelerinin listesini sunar. Bu iletişim kutusu, yeni dosya türünü (veya dosya ilişkilendirmesi) eklemek, varolan bir dosya türünü değiştirmek veya varolan bir dosya türünü silmek sağlar. Kullanıcı yeni bir dosya uzantısı için bir ilişki eklemek Yeni dosya türü düğmeyle. Adımlar şunlardır:
  1. Bir Dosya türü adı ekler. Örneğin, adı "Microsoft Word 6.0 belgesi."
  2. (Açık veya yazıcı) bir eylem seçin. Örneğin, DDE kullanan seçin onay kutusu.
  3. Dizin yolu ve uygulamanın adını ekleyin. Örneğin, WINWORD uygulaması olarak girin.
  4. DDE kullanan seçeneğini belirleyin.
  5. Uygulama, DDE sunucu adı ayarlayın.
  6. Konu DDE sunucusu olarak ayarlayın. Örneğin, Sistem, konu girin.
  7. DDE iletisi <action><filename><options>Uygulama Execute deyimi ile aynı olacak şekilde ayarlayın. Ancak <filename>ve <options>hangi komut satırı değişkenleri olan tarafından değiştirilmelidir. Örneğin kullanın:

    DDE iletisi: [FileOpen("%1")]

Regedit, Windows NT dosya ilişkileri ayarlamak için kullanma

Not: yalnızca Windows NT, Windows sürüm 3.1 Regedit kullanılabilir.

Kullanıcı ayrıca dosyaları uygulamayla regedit kullanarak ilişkilendirebilirsiniz. Düzen menüsünden (varolan bir dosya türünü değiştirmek için <a0></a0>), Dosya türü ekleme veya Değiştirme dosya türünü seçin. Dosya Yöneticisi ilişkilendirin iletişim için benzer BIR iletişim kutusu görüntülenir. Dosya Yöneticisi'ni açıklandığı gibi aynı adımları takip edin. Bu yöntemi ile bir dosya türü tanımladıktan sonra sürüm 3.1, Windows, Dosya Yöneticisi'ne iletişim ilişkilendirmek ve dosya türü için uzantı eklemek gidin.

Bir program kullanarak dosya ilişkilendirmeleri ayarla

Için ilişkilendirmeleri programatik olarak da ayarlayabilirsiniz. Uygulamanız diğer makinelere kurarken yararlıdır. Bu işlevsellik, yükleme programınızı sağlayabilir. Bunu yapmak için ilk biçimini (basit yöntemi) regedit bir dosyadaki değişiklikleri birleştirmek için kullanmaktır. Bu sözdizimi şöyledir:
   regedit <filename>.reg
				
<filename>bir .reg bir örnektir:
   REGEDIT
   HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc 
   HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc 
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE 
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)]
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application
         = Myserver
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)]
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application 
         = MYServer
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\topic = System
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\ifexec =
   [Test(%1)]
				
Program içinde de anahtarları kayıt defterine kayıt Apı kullanarak ekleyebilirsiniz. Aşağıdaki anahtarları kayıt veritabanına eklemek, geliştirici gerekiyor:
   // Your extensions.
   HKEY_CLASSES_ROOT\.riy = FMA000_File_assoc

   //File type name.
   HKEY_CLASSES_ROOT\FMA000_File_assoc = File_assoc

   // Command to execute when application is not running or dde is not
   // present and Open command is issued.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\command = fileasso.EXE

   // DDE execute statement for Open.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec = [Open(%1)]

   // The server name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\application =
   Myserver

   // Topic name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\open\ddeexec\topic = system

   // Command to execute when application is not running or dde is not
   // present and print command is issued.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\command = fileasso.EXE

   // DDE execute statement for Print.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec = [Open(%1)]

   // The server name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File_assoc\shell\print\ddeexec\application =
   MYServer

   // Topic name your application responds to.
   HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\topic = System

   // DDE execute statement for print if the application is not already
   // running. This gives the options for a an application to Run, Print
   // and Exit.
   HKEY_CLASSES_ROOT\FMA000_File assoc\shell\print\ddeexec\ifexec =
   [Test(%1)]
				

Referanslar

Windows SDK programcıları başvurusu, birim 1, Bölüm 7, Kabuk kitaplığı ya da çevrimiçi.

<a1>Pencere</a1> 3.1 SDK yardımında dosya, kayıt veritabanı, Kabuk kitaplığı işlevler.

Win32 programcıları başvurusu, birim 2'de, <a1>bölüm</a1> kayıt defteri ve başlatma dosyalarını veya çevrimiçi 52.

Kayıt defteri dosyası Win32 SDK yardımında ve başlatma

Dosya Yöneticisi Yardım dosyası.

regedit.hlp

regedt32.hlp

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Platform Software Development Kit - Ocak 2000 Sürümü
  • Microsoft Windows Software Development Kit 3.1
Anahtar Kelimeler: 
kbmt kbdownload kbfile kbinfo kbsample KB122787 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:122787  (http://support.microsoft.com/kb/122787/en-us/ )