Czy istnieje sposób na uzyskanie typu MIME pliku za pomocą wywołania systemowego w systemie Windows? Piszę rozszerzenie IIS w C++, więc musi być ono wywoływalne z C++, i mam dostęp do IIS, jeśli jest wyeksponowana jakaś funkcjonalność. Oczywiście, sam IIS musi być w stanie to zrobić, ale moje googlowanie nie było w stanie dowiedzieć się, jak to zrobić. Znalazłem tutaj pytanie związane z this .net na SO, ale to nie daje mi wiele nadziei (ponieważ ani dobre rozwiązanie, ani rozwiązanie C++ nie jest tam wspomniane).Znajdowanie typu MIME dla pliku w systemie Windows
Potrzebuję go, by móc wyświetlać dynamiczne pliki przy użyciu odpowiedniego typu zawartości z mojej aplikacji. Moim planem jest najpierw zapoznać się z listą typów MIME w mojej aplikacji, a następnie wrócić do listy typów MIME systemu (działa to jednak, oczywiście, że istnieje, ponieważ wiąże się to z kojarzeniem plików z programami). W niektórych przypadkach mam tylko rozszerzenie pliku, ale w innych przypadkach mogę mieć do sprawdzenia rzeczywisty plik na dysku. Ponieważ nie są to pliki przesłane przez użytkownika, wierzę, że mogę zaufać rozszerzeniu i wolę rozwiązanie wyszukiwania tylko dla rozszerzeń, ponieważ wydaje się prostsze i szybsze. Dzięki!
Twoje założenie jest błędne: w systemie Windows, stowarzyszenie między rozszerzeniami i programów nie korzysta z typów MIME. W rejestrze każde rozszerzenie jest powiązane z opisem opisowym i ma wartość '\ Shell \ Open \ Command \'. To ograniczenie pozwala dwóm rozszerzeniom współużytkować jeden opisowy wpis, np. '.jpeg' i' .jpg' dzielą opisowy wpis 'jpegfile' – MSalters
MSalters, mógłbym przysiąc, że w XP, okno dialogowe skojarzeń plików miało miejsce w nim dla typu MIME ... ale tutaj na Win Server 2k8, w Okno dialogowe "Domyślne programy" wydaje się być takie, jak mówisz ... to mi się nie przydaje :( – rmeador