2009-11-27 8 views
6

Chcę móc zarejestrować moje rozszerzenie pliku z mojego programu. (Powiąż typ pliku z moim programem)Jak programowo utworzyć powiązanie plików, które działa w XP, Vista i Windows 7

Istnieje wiele artykułów na ten temat, ale omawiana technika (manipulowanie przy użyciu rejestru) jest odpowiednia tylko dla systemu Windows XP, o ile widzę.

Jaki jest najlepszy sposób powiązania rodzaju pliku z programem, aby działał również pod XP, Vista i Windows 7? (Czy istnieje jakiś działający kod-przykłady?)

ClickOnce byłaby opcją, ale rejestruje ona tylko typ pliku podczas instalacji, podczas gdy chcę mieć możliwość rejestrowania typów plików w czasie wykonywania.

+0

Czy próbowałeś tej metody na Vista i Win 7? Byłbym zaskoczony, gdyby to nie zadziałało. – Lazarus

+0

Prawdopodobny duplikat: http://stackoverflow.com/questions/1082889/ –

Odpowiedz

6

W systemie Windows Vista (i prawdopodobnie w systemie Windows 7) zmieniły się skojarzenia plików: jeśli plik jest już powiązany z programem i ponownie go złączy, dwukrotne kliknięcie pliku nie otworzy go z nowym programem. Zamiast tego powiązanie zostanie dodane do listy w polu "Otwórz za pomocą". Zobacz także tę małą dyskusję na temat registering your application for associations in Vista (Archiwum internetowe, oryginalny link zniknął).

Nie jestem pewien, czy to dobrze zmienić. Jednak this post discusses różnych kluczy w rejestrze, które można użyć. Ale jeszcze lepiej, this codeproject article daje gotowy do użycia kod do kojarzenia pliku w czasie wykonywania. Nie wiem, czy działa inaczej na Vista +.

0

Było tylko kilka zmian od XP do Vista/7, jeśli chodzi o skojarzenia plików, więc większość przykładów XP powinna nadal działać. Jedyne, co powinno Cię martwić, to ustawienie "Domyślne programy" w Vista/7, które nie istniało w XP i zastępuje rejestrację innych skojarzeń plików.

1

Jeśli chcesz dodać powiązanie plików w scenariuszu bez uprawnień administratora, możesz użyć powiązań plików specyficznych dla użytkownika, opisanych w this article. Sprawdź "Specyficzne dla użytkownika powiązania plików".

Powiązane problemy