Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengaitkan Sambungan Fail Secara Pengaturcaraan dengan Boleh Laku dalam C#?

Bagaimanakah Saya Boleh Mengaitkan Sambungan Fail Secara Pengaturcaraan dengan Boleh Laku dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-20 16:14:14511semak imbas

How Can I Programmatically Associate File Extensions with Executables in C#?

Menghubungkan sambungan fail dengan fail boleh laku dalam C#

C# sendiri tidak mempunyai API terbina dalam untuk mengurus persatuan fail. Walau bagaimanapun, anda boleh memanfaatkan API Registry untuk mengakses dan mengubah suai pendaftaran Windows kerana maklumat persatuan fail disimpan dalam pendaftaran.

Untuk mengaitkan sambungan fail tertentu dengan boleh laku anda, anda perlu mencipta kunci pendaftaran di bawah HKEY_CLASSES_ROOT.

  1. Buat subkunci sambungan fail:

    • Buat subkunci di bawah HKEY_CLASSES_ROOT bernama dengan sambungan fail (cth., .txt).
    • Tetapkan nilai lalai subkunci ini kepada nama unik untuk jenis fail anda, seperti "Acme.TextFile".
  2. Buat subkunci jenis fail:

    • Buat subkunci di bawah HKEY_CLASSES_ROOT dengan nama yang digunakan dalam langkah sebelumnya (contohnya, "Acme.TextFile").
  3. Tetapkan ikon lalai:

    • Tambahkan subkunci bernama "DefaultIcon" di bawah subkunci jenis fail.
    • Tetapkan nilai lalai "DefaultIcon" kepada laluan dan indeks ikon untuk digunakan.
  4. Tambah tindakan menu konteks:

    • Buat subkunci bernama "shell" di bawah subkunci jenis fail.

    • Di bawah subkunci "shell", buat subkey untuk setiap tindakan menu konteks yang anda mahu tambah.

    • Menetapkan nilai lalai setiap subitem tindakan kepada rentetan berikut:

      • "executable_path" "%1"
      • Ganti "executable_path" dengan laluan ke fail boleh laku dan "%1" dengan pemegang tempat untuk laluan fail diluluskan sebagai hujah.

Sebagai contoh, untuk mengaitkan fail .txt dengan EmEditor, anda perlu mencipta kunci pendaftaran berikut:

<code>[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"

[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"

[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\SysWow64\imageres.dll,-102"

[HKEY_CLASSES_ROOT\emeditor.txt\shell]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" /p \"%1\""</code>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengaitkan Sambungan Fail Secara Pengaturcaraan dengan Boleh Laku dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn