Đôi khi bạn muốn ứng dụng của mình mở ứng dụng mặc định cho một tệp. Ví dụ, để mở một tập tin PDF, bạn có thể sử dụng:Ứng dụng có được liên kết với tiện ích mở rộng đã cho không?
System.Diagnostics.Process.Start("Filename.pdf");
Để mở một hình ảnh, bạn chỉ muốn sử dụng cùng mã với một tên tập tin khác nhau:
System.Diagnostics.Process.Start("Filename.gif");
Một số phần mở rộng (Ví dụ, .gif) chỉ là về luôn luôn có một trình xử lý mặc định, ngay cả trong một cài đặt Windows cơ sở. Tuy nhiên, một số tiện ích mở rộng (ví dụ: .pdf) thường không có ứng dụng được cài đặt để xử lý chúng.
Trong những trường hợp này, bạn nên xác định xem ứng dụng có được liên kết với phần mở rộng của tệp mà bạn muốn mở trước khi thực hiện cuộc gọi tới Process.Start (tên tệp) hay không.
Tôi đang tự hỏi làm thế nào bạn có thể thực hiện tốt nhất cái gì đó như thế này:
static bool ApplicationAssociated(string extension)
{
var extensionHasAssociatedApplication = false;
var condition = // Determine if there is an application installed that is associated with the provided file extension.;
if (condition)
{
extensionHasAssociatedApplication = true;
}
return extensionHasAssociatedApplication;
}
Đó là một nơi nào đó trong trình chỉnh sửa đăng ký. Cùng với các bộ xử lý cho nam châm :, mailto :, call: schemes vv Nó gần như ở gốc nếu tôi nhớ chính xác – f2lollpll