Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menentukan Aplikasi Lalai Secara Pengaturcaraan untuk Jenis Fail Tertentu pada Windows?

Bagaimanakah Saya Boleh Menentukan Aplikasi Lalai Secara Pengaturcaraan untuk Jenis Fail Tertentu pada Windows?

DDD
Lepaskan: 2025-01-04 20:09:40
asal
185 orang telah melayarinya

How Can I Programmatically Determine the Default Application for a Specific File Type on Windows?

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,
    ...
}
Salin selepas log masuk

Contoh pelaksanaan boleh didapati di bawah:

static string AssocQueryString(AssocStr association, string extension)
{
    ...
    return sb.ToString();
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan