Bagikan melalui


Contoh Asosiasi File

Dalam contoh berikut, perusahaan pengembangan perangkat lunak hipotetis bernama Litware, Inc. membuat pemutar audio baru yang disebut LitwarePlayer. Litware ingin merancang asosiasi file antara LitwarePlayer dan jenis file utamanya, yang menggunakan format audio yang baru dikembangkan yang memungkinkan seluruh CD audio disimpan dalam memori kurang dari 10 kilobyte tanpa kehilangan kualitas.

Penting

Topik ini tidak berlaku untuk Windows 10. Cara kerja asosiasi file default berubah dalam Windows 10. Untuk informasi selengkapnya, lihat bagian tentang Perubahan cara Windows 10 menangani aplikasi default di postingan ini.

 

Merancang Asosiasi File Baru

Perusahaan harus mengambil langkah-langkah berikut.

  1. Putuskan apakah jenis file baru harus diperlakukan sebagai publik atau privat. Tipe file baru ini adalah tipe media. Karena pengguna bertukar file media di berbagai platform dan mungkin ada aplikasi lain yang perlu membaca format LitwarePlayer, jenis file publik adalah yang paling tepat.

  2. Tentukan apakah tipe file ini sudah ditentukan. Periksa database MIME Internet Assigned Numbers Authority (IANA), dan database tipe file publik lainnya di Internet untuk menentukan bahwa tidak ada tipe file yang sebanding yang telah ditentukan. Karena ini adalah format file baru, Anda perlu menentukan jenis file baru.

  3. Tentukan ekstensi nama file untuk jenis file baru. Pengembang memilih .opa-ltw-audio, yang menggabungkan singkatan vendor mereka dan petunjuk tentang apa yang dikandung file. Penelitian menentukan bahwa ekstensi tidak digunakan oleh orang lain. Mengikuti rekomendasi saat ini, tidak ada ekstensi singkat yang ditentukan.

  4. Tentukan jenis MIME untuk jenis file dan daftarkan dengan IANA. Litware mendefinisikan jenis MIME baru sebagai audio/LitwarePlayer.1 dan menyiapkan aplikasi jenis MIME, mengikuti panduan yang ditata dalam nomor Request for Comments (RFC) 2045, 2046, 2047, dan 2048. Mereka kemudian mengirimkan aplikasi ke IANA, yang menambahkan jenis file baru ke database jenis MIME terdaftar.

  5. Tentukan apakah ProgID ada untuk jenis file. Karena ini adalah jenis file baru, tidak ada ProgID yang ada untuk itu. Set Litware tentang merancang ProgID baru untuk LitwarePlayer. Mereka memutuskan nama yang mudah diingat "Pemutar Audio LitwarePlayer" (yang disimpan sebagai sumber daya dalam file LitwarePlayer.exe), dan mereka merancang ikon default untuk digunakan untuk file yang terkait dengan LitwarePlayer (juga disimpan dalam LitwarePlayer.exe). Karena LitwarePlayer adalah aplikasi baru, ini adalah ProgID versi 1.

  6. Daftarkan ProgID. Ketika LitwarePlayer diinstal, program penginstalan membuat entri ProgID berikut di registri.

    HKEY_CLASSES_ROOT
       Litware.LitwarePlayer.1
          (Default) = LitwarePlayer Audio Player
          FriendlyTypeName = @LitwarePlayer, -120
          CurVer
             (Default) = Litware.LitwarePlayer.1
          DefaultIcon
             (Default) = LitwarePlayer, -142
          shell
             play
                command
                   (Default) = "%ProgramFiles%\LitwarePlayer\LitwarePlayer.exe" "%1"
    

    Di kunci perintah, %1 diteruskan sebagai jalur ke file yang akan diputar.

  7. Daftarkan ekstensi nama file untuk jenis file. Ketika LitwarePlayer diinstal, program penginstalan membuat entri berikut dalam registri untuk ekstensi jenis file kustomnya.

    HKEY_CLASSES_ROOT
       .opa-vwi-audio
          (Default) = Litware.LitwarePlayer.1
          PerceivedType = Audio
          Content Type = audio/LitwarePlayer
    

Catatan

Setiap kali asosiasi file dibuat atau diubah, beri tahu sistem bahwa perubahan telah dilakukan dengan memanggil SHChangeNotify, menentukan peristiwa SHCNE_ASSOCCHANGED. Jika ini tidak dilakukan, Shell mungkin tidak mengenali perubahan apa pun yang dilakukan sampai sistem dimulai ulang.

 

Sumber Daya Tambahan

Praktik Terbaik untuk Asosiasi File

Panduan untuk Mengelola Aplikasi Default di Windows Vista dan Yang Lebih Baru

Program Default

Atur Akses Program dan Asali Komputer (SPAD)