Petunjuk terbesar Anda untuk tujuan dan lokasi adalah dalam "tipe besar", yaitu, nama-nama sarang masing-masing: HKLM dan HKCU
Asosiasi file diatur dalam kedua sarang dan memiliki dua tujuan berbeda:
Sesuai namanya, entri registri HKCU mengatur asosiasi file untuk PENGGUNA SAAT INI dan mengabaikan pengaturan jenis file yang sesuai di HKLM.
HKLM menetapkan asosiasi file untuk MESIN LOKAL, yaitu, untuk SEMUA PENGGUNA mesin (kecuali diganti oleh entri HKCU). (Untuk Win98, HKCR hanyalah alias singkat untuk Kelas HKLM \ Software \. Tidak ada sarang terpisah atau berbeda. Namun, ini berubah untuk Win XP dan tidak lagi benar. HKCR sekarang menjadi sarang virtual yang merupakan hasil penggabungan HKLM \ Software \ Classes \, HKCU \ Software \ Classes \, dan HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts kunci dengan info HKCU yang diutamakan.)
Sistem dua langkah ini memfasilitasi tidak hanya skema asosiasi file satu-ke-satu tetapi banyak-ke-satu dan satu-ke-banyak. Misalnya, filetipe .htm, .html, dan .shtml semuanya dapat diatur ke ProgID = htmlfile yang pada gilirannya dapat menentukan satu browser. OTOH, entri dapat berisi subkunci OpenWithList atau OpenWithProgID dengan beberapa entri untuk membuka file dari daftar beberapa browser, editor, atau aplikasi lain.
Kelas HKLM \ Software \ Classes dan HKCU \ Software \ beroperasi dengan cara yang sama (yang satu lebih diutamakan daripada yang lain). Dalam bentuk paling sederhana ada kunci registri untuk ekstensi file (misalnya, HKCR.txt) yang nilai defaultnya adalah ProgID yang sesuai (misalnya, txtfile). Selain, atau alih-alih, nilai default, mungkin ada nama ProgID tambahan yang tercantum untuk subkunci "OpenWithProgID" (mis., Txtfile dan htmlfile), dan / atau nama aplikasi tambahan yang muncul sebagai subkunci di bawah "OpenWithList" (mis. Notepad ++ .exe, Opera.exe, Firefox.exe).
Setiap ProgID didefinisikan pada kunci lain dalam HKCR (mis., HKCR \ txtfile). Kunci ini berisi subkunci untuk memberi tahu windows ikon mana yang akan digunakan dan cara membuka, mencetak, mencetak, dll file terkait (mis., G, perintah HKCR \ txtfile \ shell \ open \). Demikian pula, setiap nama aplikasi didefinisikan sebagai subkunci di bawah HKCR \ Applications (mis., HKEY_CLASSES_ROOT \ Applications \ Firefox.exe \ shell \ open \ command).
Selain kunci HKCU \ Software \ Classes, asosiasi file akun pengguna ditemukan di kunci HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts. Entri ini bukan hanya untuk Windows Explorer seperti yang telah disarankan tetapi merupakan sumber tambahan dari pengesampingan asosiasi file akun pengguna. Entri dibuat oleh alat asosiasi file di explorer (Explorer \ Tools \ Folder Options \ Jenis File) dan berisi OpenWithList dan / atau subkunci OpenwithProgID untuk setiap ekstensi file yang terdaftar.
Untuk menentukan hubungan file, Windows pertama-tama melihat entri HKCU untuk ekstensi file yang sesuai. Hanya jika tidak ditemukan entri HKLM ikut bermain. (Catatan: Saya belum menguji yang lebih diutamakan - HKCU \ Software \ Classes atau HKCU \ MIcrosoft \ Windows \ CurrentVersion \ Explorer \ FileExts tapi saya menduga itu akan menjadi kunci FileExts). Demikian juga, jika ProgID atau nama aplikasi yang dirujuk tidak ditemukan di HKCU, entri HKLM dicari. (Perhatikan bahwa entri \ Applications \ hanyalah nama yang arbitrer - meskipun biasanya identik dengan nama file exe disk sebenarnya.)
Jadi untuk menentukan asosiasi file untuk akun pengguna tertentu, buat entri dalam sarang HKCU. Untuk menentukan asosiasi untuk semua pengguna, buat entri di HKLM hive (HKCR) dan hapus semua referensi di HKCU hive untuk tipe file itu. Jelas Anda membutuhkan hak akses yang sesuai untuk kunci registri.
Saya tidak menggunakan alat assoc dan ftype karena saya lebih suka menggunakan RegEdit baik dalam mode interaktif atau batch tetapi dari komentar lain tampaknya mereka hanya beroperasi pada HKLM hive dan tidak berguna untuk membersihkan / mengatur kunci HKCU. Luangkan waktu dan telusuri kunci yang disebutkan di atas dengan RegEdit untuk melihat lebih banyak contoh.