Co te tajemnicze ciągi naprawdę oznaczają w powiązaniach rejestru?

9

Patrząc na mój HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ command \ wartość (skojarzenie powłoki Word 2010 „Open”) widzę takie bzdury:

xb'BV5 !!!!!!!!! MKKSkWORD Pliki> bi $ T! V! 0Z = {Pk0vm ~ AZu / n "% 1"

gdzie wszystko jest jasne o ostatnich / n "% 1" częściach, ale pierwsza tajemnicza część najwyraźniej oznacza jakieś magiczne instrukcje dotyczące uruchamiania MS Word. To samo voodoo, które mam dla Excela i innych powiązań Office.

Moje liczne próby uczenia się przez Internet o tym, co się tam dzieje, nie przyniosły żadnych rezultatów. Wiele osób dyskutuje na temat „odpowiednich zaklęć”, aby powiązania Word / Excel działały poprawnie, jednak nie widziałem, aby którekolwiek (tak jak ja) kiedykolwiek rozumiało, co robią i dlaczego naprawdę uważały, że ta czarna magia zadziała dla innych ludzi - tylko dlatego, że jakoś udało się działać na ich komputerach.

Jednak tak naprawdę nie rozumiałem faktu, że nikt (kogo oczywiście widzę w Internecie) nigdy nie zapytał czegoś takiego jak „jak na Ziemi to działa?”. lub „co to tak naprawdę znaczy?” a przynajmniej nie ostatni, „myślisz, że mam paskudnego wirusa ?!”. Ok, więc chyba będę pierwszy.

Moje pytanie nie dotyczy jednak powodów, dla których ludzie są tacy nieufni. Moje pytanie brzmi, jak te ciągi naprawdę działają w powiązaniach rejestru? To musi być jakaś nieudokumentowana (lub udokumentowana ??) funkcja Windows (prawdopodobnie Windows Shell) przekształcająca takie ciągi znaków w coś, co jest zrozumiałe dla człowieka.

Van Jone
źródło

Odpowiedzi:

6

Masz do czynienia z problemem „ Nieudokumentowane API ”.

Ten ciąg jest tajnym, specyficznym dla implementacji ciągiem, którego Microsoft nie chce jako wiedzy publicznej. Jeśli format ciągu był publiczny, a Microsoft kiedykolwiek chciał zmienić sposób wczytywania plików, musieliby nadal obsługiwać stary ciąg w celu zachowania zgodności wstecznej, jeśli jest to nieudokumentowany interfejs API, można go zmienić bez konieczności sprawdzania jeśli rzeczy innych firm się zepsują.

Microsoft jest w rzeczywistości jedną z najlepszych firm, jeśli chodzi o ostrożność, aby nie złamać oprogramowania innych firm, uruchomienie polecenia uruchomienia słowa to tylko jedno z miejsc, w których nie chcą przechodzić przez kłopoty.

Scott Chamberlain
źródło
1
Niestety, ta odpowiedź dotyczy zupełnie innych pytań: a) Co oznacza „nieudokumentowane API”? b) Dlaczego w ogóle istnieją nieudokumentowane interfejsy API? c) Jaka firma najlepiej chroni nasze życie, więc my, głupi użytkownicy, nie strzelilibyśmy sobie w nogi? :-) Nadal bardzo daleko jest do odpowiedzi „ jak te ciągi naprawdę działają w powiązaniach rejestru?” Gdybym był gotowy zaakceptować wiersz „Po prostu nie powinienem wiedzieć”, nie zapytałbym go tutaj na SuperUser ...
Van Jone
1
@ VanJone Rzecz w tym, że nikt nie wie, nikt nie poświęcił czasu na odtworzenie kodu programu i zrozumienie go, zwłaszcza gdy następna aktualizacja systemu Windows może sprawić, że przestaną działać.
Scott Chamberlain
1
Ludzie dość często odwracają Windows i wielu może posiadać tę wiedzę jako efekt uboczny zarabiania na swoje zarobki. To tylko kwestia szczęścia, jak długo czekać na pojawienie się kogoś o odpowiedniej wiedzy.
Van Jone,
Notacja PS '@' z jakiegoś powodu nie działała dla mnie: SU po prostu usunęła ją z mojego komentarza
Van Jone
@VanJone Nie musisz używać @, gdy odpowiadasz autorowi postu, zostanie on automatycznie powiadomiony, @ służy do zmiany powiadomienia od autora postu na osobę, która opublikowała co najmniej raz w komentarzach.
Scott Chamberlain