2010-10-13 26 views
21

Próbuję programowo sprawdzać powiązania plików przez rozszerzenie pliku (na przykład pliki .jnlp). Ciągle czytam, że klucz rejestru do sprawdzenia to Gdzie system Windows przechowuje ustawienia "Otwórz za pomocą"?

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command 
Jeśli jednak zmienić stowarzyszenie za pośrednictwem Eksploratora Windows:

Otwórz za pomocą> Wybierz Program> (Zawsze używaj wybranego programu)

zmiana nie jest wcale odzwierciedlenie w tym kluczu rejestru. Gdzie jeszcze przechowywane są te informacje?

Odpowiedz

22

Spójrz w:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ 

i sub-klucz, który jest rozszerzenie ty przeniesiony. Pod nim będą podklucze UserChoice i OpenWithList, które będą zawierać Twoją redefinicję.

Możesz również przeczytać http://support.microsoft.com/kb/950505, która mówi o Twoim problemie.

2

On:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList 

wskazówka: Edycja> Znajdź jest bardzo przydatny w takich sytuacjach. :)

4

To jest dwuczęściowy look-up.

Najpierw sprawdzasz domyślną wartość HKEY_CLASSES_ROOT \ [file_extension]. W przypadku rozszerzeń .jnlp wartość to "JNLPFile". Nazwijmy to [file_descriptor].

Teraz możesz wyszukać domyślną wartość HKEY_CLASSES_ROOT \ [file_descriptor] \ Shell \ [action] \ command (gdzie [action] to działanie powłoki, które Cię interesuje, np .: Open, Print, Edit itp.).

Powiązane problemy