9

Looking at my HKEY_CLASSES_ROOT\Word.Document.12\shell\Open\command\command value (Word 2010 'Open' shell association) I see this sort of nonsense:

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

where it's all clear about last /n "%1" parts, but the first cryptic one apparently denotes some magic instruction on running MS Word. Same voodoo I have for Excel and other Office associations.

My numerous attempts to educate myself via internet about what's going on there didn't bring any results at all. Lots of people discuss the "right incantations" to establish for Word/Excel associations working properly, however I didn't see any of them (like me too) ever understood what they're doing and why they really thought this black magic would work for other people - just because it somehow managed to work on their machines.

However, what I really didn't understand is the fact that no one (whom I spot on internet, of course) ever asked anything like "how on Earth it works?" or "what does it really mean?" or least not the last, "do you think I have a nasty virus?!". Ok, then I'm going to be the first, I guess.

My question here is not why people are so incurious though. My question is how do these strings really work in registry associations? That must be some undocumented (or documented??) Windows (presumably, Windows Shell) feature transforming such strings to something human-digestible.

0

1 Answer 1

6

You are dealing with the "Undocumented API" problem.

That string is a secret, implementation specific, string that Microsoft does not want as public knowledge. If the format of the string was public and Microsoft ever wanted to change how it loaded files they would need to still support the old string for backwards compatibility, if it is a undocumented API they are allowed to change it without going through the trouble of checking if 3rd party stuff will break.

Microsoft is actually one of the best companies out there when it comes to being careful to not break 3rd party software, launching the word run command is just one of the places where they don't want to go through the trouble.

5
  • 2
    Unfortunately, this answer is about totally different questions: a) What means "undocumented API"? b) Why undocumented APIs exist at all? c) What company protects our lives the best, so we, stupid users, wouldn't shoot our own leg? :-) It's still very far to answer "how do these strings really work in registry associations?" If I was ready to accept "I'm just not supposed to know" line, I wouldn't ask it here on SuperUser...
    – Van Jone
    Dec 14, 2014 at 0:11
  • 1
    @VanJone The thing is no one does know, no one has taken the time to reverse engineer the program and figure it out, especially when the next windows update could make what they did no longer work. Dec 14, 2014 at 4:19
  • 2
    People do reverse Windows pretty often and many might possess this knowledge as a side effect of earning their wages. It's just a question of luck how long to wait for someone in the right knowledge turning up here.
    – Van Jone
    Dec 16, 2014 at 0:23
  • P.S. '@' notation didn't work for me for some reason: SU merely removed it from my comment
    – Van Jone
    Dec 16, 2014 at 0:25
  • @VanJone You don't need to use @ when you are replying to the author of a post, they will automaticly get notified, @ is for changing the notification from the post author to someone who has posted at least once in the comments. Dec 16, 2014 at 2:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .