Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencari Aplikasi Lalai Secara Pengaturcaraan untuk Jenis Fail dalam .NET?
Mencari Aplikasi Lalai untuk Membuka Jenis Fail pada Windows (.NET)
Dalam .NET Framework 2.0 menggunakan C#, adalah mungkin untuk buka fail dalam aplikasi lalainya dengan menggunakan System.Diagnostics.Process.Start(). Walau bagaimanapun, untuk fail tanpa sambungan khusus, menentukan aplikasi yang berkaitan boleh menjadi rumit.
Menggunakan Win32 API
Untuk mengatasi had ini, menggunakan fungsi Win32 API AssocQueryString( ) adalah disyorkan. Fungsi ini mengembalikan rentetan yang dikaitkan dengan jenis fail tertentu, membenarkan pembangun mengekstrak laluan boleh laku bagi aplikasi lalai.
Coretan kod di bawah menunjukkan cara menggunakan AssocQueryString():
using System.Runtime.InteropServices; using System.Text; public static string GetDefaultApplicationForExtension(string extension) { const int S_OK = 0; const int S_FALSE = 1; uint length = 0; uint ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, null, ref length); if (ret != S_FALSE) { throw new InvalidOperationException("Could not determine associated string"); } StringBuilder sb = new StringBuilder((int)length); // (length-1) will probably work too as the marshaller adds null termination ret = AssocQueryString(AssocF.None, AssocStr.Executable, extension, null, sb, ref length); if (ret != S_OK) { throw new InvalidOperationException("Could not determine associated string"); } return sb.ToString(); }
Dengan menggunakan fungsi ini dan menyediakan sambungan fail sebagai hujah, pembangun boleh mendapatkan laluan aplikasi lalai, membolehkan mereka membuka fail dalam aplikasi yang diingini secara pengaturcaraan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Aplikasi Lalai Secara Pengaturcaraan untuk Jenis Fail dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!