Que signifient réellement ces chaînes cryptiques dans les associations de registres?

9

En regardant ma valeur HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ (association de shell Word 2010 'Open'), je vois ce genre de non-sens:

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

où tout est clair sur les dernières / n "% 1" parties, mais la première cryptique dénote apparemment une instruction magique sur l'exécution de MS Word. Même vaudou que j'ai pour Excel et d'autres associations Office.

Mes nombreuses tentatives pour me renseigner sur Internet sur ce qui s'y passe n'ont donné aucun résultat. Beaucoup de gens discutent des "bonnes incantations" à établir pour que les associations Word / Excel fonctionnent correctement, mais je n'ai vu aucune d'entre elles (comme moi aussi) avoir jamais compris ce qu'elles faisaient et pourquoi elles pensaient vraiment que cette magie noire fonctionnerait pour d'autres personnes - simplement parce qu'il a réussi à fonctionner sur leurs machines.

Cependant, ce que je n'ai vraiment pas compris, c'est le fait que personne (que je repère sur Internet, bien sûr) n'a jamais demandé quoi que ce soit comme "comment ça marche?" ou "qu'est-ce que cela signifie vraiment?" ou du moins pas le dernier, "pensez-vous que j'ai un méchant virus?!". Ok, alors je vais être le premier, je suppose.

Ma question ici n'est pas de savoir pourquoi les gens sont si incommodants. Ma question est de savoir comment ces chaînes fonctionnent-elles vraiment dans les associations de registres? Cela doit être une fonctionnalité non documentée (ou documentée ??) de Windows (vraisemblablement, Windows Shell) transformant ces chaînes en quelque chose de digeste par l'homme.

Van Jone
la source

Réponses:

6

Vous avez affaire au problème " API non documentée ".

Cette chaîne est une chaîne secrète, spécifique à l'implémentation, que Microsoft ne souhaite pas connaître publiquement. Si le format de la chaîne était public et que Microsoft a toujours voulu changer la façon dont il chargeait les fichiers, ils devraient toujours prendre en charge l'ancienne chaîne pour une compatibilité descendante, s'il s'agit d'une API non documentée, ils sont autorisés à la modifier sans passer par la difficulté de vérifier si des trucs de tiers se cassent.

Microsoft est en fait l'une des meilleures entreprises quand il s'agit de faire attention à ne pas casser les logiciels tiers, le lancement de la commande word run n'est qu'un des endroits où ils ne veulent pas passer par les ennuis.

Scott Chamberlain
la source
1
Malheureusement, cette réponse concerne des questions totalement différentes: a) Que signifie «API non documentée»? b) Pourquoi des API non documentées existent-elles? c) Quelle entreprise protège le mieux nos vies, afin que nous, utilisateurs stupides, ne tirions pas sur notre propre jambe? :-) Il est encore très loin de répondre " comment ces chaînes fonctionnent -elles vraiment dans les associations de registres?" Si j'étais prêt à accepter la ligne "Je ne suis simplement pas censé savoir", je ne le demanderais pas ici sur SuperUser ...
Van Jone
1
@VanJone Le truc, c'est que personne ne le sait, personne n'a pris le temps de faire de l'ingénierie inverse du programme et de le comprendre, surtout quand la prochaine mise à jour de Windows pourrait faire en sorte que ce qu'ils ne fonctionnent plus.
Scott Chamberlain
1
Les gens inversent assez souvent Windows et beaucoup pourraient posséder cette connaissance comme effet secondaire de gagner leur salaire. C'est juste une question de chance de savoir combien de temps attendre qu'une personne possédant les bonnes connaissances se présente ici.
Van Jone
La notation PS '@' n'a pas fonctionné pour moi pour une raison quelconque: SU l'a simplement supprimée de mon commentaire
Van Jone
@VanJone Vous n'avez pas besoin d'utiliser @ lorsque vous répondez à l'auteur d'un message, ils seront automatiquement informés, @ sert à changer la notification de l'auteur du message à quelqu'un qui a posté au moins une fois dans les commentaires.
Scott Chamberlain