Znajdowanie domyślnej aplikacji do otwierania określonego typu pliku w systemie Windows
Zajmuję się tworzeniem aplikacji ukierunkowanej na .NET Framework 2.0 za pomocą C #, dla której muszę być w stanie znaleźć domyślną aplikację używaną do otwierania konkretnego typu pliku.
Wiem na przykład, że jeśli chcesz otworzyć plik za pomocą tej aplikacji, możesz użyć czegoś takiego:
System.Diagnostics.Process.Start( "C:\...\...\myfile.html" );
aby otworzyć dokument HTML w domyślnej przeglądarce lub
System.Diagnostics.Process.Start( "C:\...\...\myfile.txt" );
aby otworzyć plik tekstowy w domyślnym edytorze tekstu.
Jednak chcę mieć możliwość otwierania plików, które niekoniecznie muszą mieć.tekst rozszerzenie (na przykład) w domyślnym edytorze tekstu, więc muszę być w stanie znaleźć domyślną aplikację do otwarcia.tekst pliki, które pozwolą mi wywołać go bezpośrednio.
Domyślam się, że jest jakiś interfejs API Win32, którego potrzebuję do P / Invoke, aby to zrobić, jednak szybkie spojrzenie zarówno w Google, jak i MSDN nie ujawniło niczego interesującego; Znalazłem bardzo dużą liczbę całkowicie nieistotnych stron, ale nic takiego, jak szukam.