这些神秘的字符串在注册表关联中真正意味着什么?


9

查看我的HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ command值(Word 2010'Open'shell关联),我看到了这样的废话:

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

关于/ n“%1”的最后部分的内容都很清楚,但是第一个隐秘的名称显然表示在运行MS Word时有一些魔术指令。我对Excel和其他Office协会有同样的伏都教。

我通过互联网进行自我教育的许多尝试并没有带来任何结果。很多人讨论建立Word / Excel关联正常工作的“正确方法”,但是我没有看到他们(也像我一样)了解他们在做什么以及为什么他们真的认为这种黑魔法会起作用对于其他人-只是因为它设法在他们的机器上工作。

但是,我真正不了解的事实是,没有人(当然是我在互联网上发现的人)曾问过诸如“地球如何运作?”之类的问题。或“这到底是什么意思?” 或至少不是最后一个,“您认为我有讨厌的病毒吗?!”。好吧,我想我将成为第一个。

我在这里的问题不是为什么人们如此好奇。我的问题是这些字符串在注册表关联中如何真正起作用?那一定是某些未记录(或已记录?)的Windows(大概是Windows Shell)功能将这些字符串转换为人类可消化的东西。

Answers:


6

您正在处理“ 未公开的API ”问题。

该字符串是Microsoft不希望作为公共知识的秘密的,特定于实现的字符串。如果该字符串的格式是公共的,并且Microsoft曾经想更改其加载文件的方式,则它们仍需要支持旧字符串以实现向后兼容性;如果它是未记录的API,则可以更改它而无需进行检查的麻烦如果第三方的东西会破裂。

实际上,在小心不要破坏第三方软件的情况下,微软实际上是最好的公司之一,启动单词run命令只是他们不想遇到麻烦的地方之一。


1
不幸的是,这个答案是关于完全不同的问题的:a)什么是“未公开的API”?b)为什么完全没有未记录的API?c)哪家公司能最好地保护我们的生命,所以我们(愚蠢的用户)不会自己动手?:-)要回答“ 这些字符串在注册表关联中如何真正起作用,还很遥远” ?如果我准备接受“我不应该知道”这一行,那么我就不会在SuperUser上问这句话……
Van Jone 2014年

1
@VanJone这是没人知道的事情,没有人花时间对程序进行反向工程并弄清楚,特别是当下一次Windows更新可能会使它们不再起作用时。
Scott Chamberlain 2014年

1
人们确实经常反转Windows,并且许多人可能拥有此知识作为赚取工资的副作用。这只是运气的问题,要等多久才能在这里找到具有正确知识的人。
Van Jone

PS“ @”表示法由于某些原因对我不起作用:SU只是将其从我的评论中删除了
Van Jone 2014年

@VanJone在回复帖子作者时,无需使用@,它们会自动收到通知,@用于将帖子作者的通知更改为至少在评论中发表过一次的人。
Scott Chamberlain 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.