Що насправді означають ці загадкові рядки в асоціаціях реєстрів?


9

Дивлячись на мою HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ командне значення (Word 2010 "Відкрити" оболонку об'єднання), я бачу таку дурницю:

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

де все зрозуміло про останню / n "% 1" частину, але перша криптовалюта, мабуть, позначає якусь магічну інструкцію щодо запуску MS Word. Те саме вуду є в Excel та інших асоціаціях Office.

Мої численні спроби освоїти себе через Інтернет про те, що там відбувається, взагалі не принесли результатів. Багато людей обговорюють "правильні заклики", щоб встановити, щоб асоціації Word / Excel працювали належним чином, проте я не бачив, щоб жоден із них (як і я) ніколи не розумів, що вони роблять, і чому вони насправді думали, що ця чорна магія спрацює для інших людей - просто тому, що це якось вдалося попрацювати на їх машинах.

Однак те, що я насправді не розумів, - це той факт, що ніхто (кого, звичайно, я бачу в Інтернеті), ніколи нічого не запитував на кшталт "як на Землі це працює?" або "що це насправді означає?" чи, принаймні, не останній, "ви думаєте, у мене противий вірус ?!". Гаразд, тоді я буду першим, напевно.

Моє запитання тут не в тому, чому люди такі незвичні, хоча. Моє запитання - як справді ці рядки працюють в асоціаціях реєстрів? Це повинна бути якась бездокументована (або задокументована ??) функція Windows (імовірно, Windows Shell), що перетворює такі рядки на щось засвоюване людиною.

Відповіді:


6

Ви маєте справу з проблемою " Недокументований API ".

Цей рядок є секретом, специфічним для впровадження, рядком, який Microsoft не хоче, як суспільне знання. Якщо формат рядка був загальнодоступним і Microsoft коли-небудь хотіла змінити завантаження файлів, їм потрібно було б підтримувати стару рядок для зворотної сумісності, якщо це незадокументований API, вони можуть змінювати її, не переживаючи проблеми перевірки. якщо речі третьої сторони зламаються.

Microsoft насправді є однією з найкращих компаній там, коли потрібно бути обережними, щоб не зламати програмне забезпечення сторонніх виробників, запуск команди word run - це лише одне з місць, де вони не хочуть переживати проблеми.


1
На жаль, ця відповідь стосується абсолютно різних питань: а) Що означає "недокументований API"? б) Чому API без документації взагалі існують? в) Яка компанія найкраще захищає наше життя, щоб ми, дурні користувачі, не стріляли власною ногою? :-) Це все ще дуже далеко , щоб відповісти « як зробити ці рядки дійсно працювати в асоціаціях реєстру?» Якби я був готовий прийняти рядок "Я просто не повинен знати", я б не просив його тут на SuperUser ...
Ван Джон

1
@VanJone Справа, про яку ніхто не знає, ніхто не знайшов час, щоб переробити інженерну програму та розібратися в ній, особливо коли наступне оновлення Windows могло б зробити те, що вони більше не працюють.
Скотт Чемберлен

1
Люди доволі часто реверсують Windows, і багато хто може володіти цими знаннями як побічний ефект заробітку. Це лише питання удачі, як довго чекати, коли хтось із потрібних знань з'явиться тут.
Van Jone

Нотація PS '@' чомусь не працювала для мене: SU просто видалила її з мого коментаря
Van Jone

@VanJone Вам не потрібно використовувати @, коли ви відповідаєте авторові публікації, вони автоматично отримуватимуть повідомлення, @ це за зміну сповіщення від автора публікації на когось, хто хоча б раз розмістив коментарі.
Скотт Чемберлен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.