Cara Mengenalpasti Aplikasi Lalai untuk Jenis Fail Tertentu pada Windows
Apabila membangunkan aplikasi yang berinteraksi dengan pelbagai jenis fail, ia menjadi perlu untuk mengenal pasti aplikasi lalai yang dikaitkan dengan membuka fail tersebut. Untuk mencapai matlamat ini, Windows menyediakan kaedah yang memanfaatkan fungsi khusus platform.
Pendaftaran, walaupun biasa digunakan, bukanlah cara yang boleh dipercayai untuk mendapatkan maklumat ini, seperti yang ditunjukkan oleh ketidakstabilan dalam Windows 8.1. Oleh itu, pendekatan pilihan adalah menggunakan API Win32, terutamanya fungsi AssocQueryString.
Menggunakan AssocQueryString memerlukan pengimportan takrifan yang diperlukan daripada perpustakaan Shlwapi.dll dan mencipta kaedah pembungkus:
using System.Runtime.InteropServices; [DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)] public static extern uint AssocQueryString( AssocF flags, AssocStr str, string pszAssoc, string pszExtra, [Out] StringBuilder pszOut, ref uint pcchOut ); [Flags] public enum AssocF { None = 0, ... } public enum AssocStr { Command = 1, ... }
Contoh pelaksanaan boleh didapati di bawah:
static string AssocQueryString(AssocStr association, string extension) { ... return sb.ToString(); }
Dengan memanggil ini berfungsi dengan parameter yang sesuai, pembangun boleh mendapatkan semula laluan ke boleh laku yang dikaitkan dengan membuka jenis fail tertentu. Ini membolehkan penyepaduan yang lancar dengan aplikasi luaran apabila melancarkan fail dalam perisian anda sendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Aplikasi Lalai Secara Pengaturcaraan untuk Jenis Fail Tertentu pada Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!