这似乎是一个非常高级的问题,但实际上是一个相当普遍的问题。作为一个技术宅,我被64位和x86之间的讨论以及.net的准通用二进制方面所吸引。但是,作为技术支持故障排除员,我不能不想到核心问题需要明确并系统地解决...
所以,无论您使用哪个邮件客户端(正如您自己所说),也无论您使用的是哪种CPU,您真正的问题是无法将您的邮件客户端设置为mailto的默认协议处理程序。或者简单地说,您无法将您喜欢的程序设置为默认程序。
我倾向于认为64/86方面的问题并不相关。它们很有趣,可能会产生一些影响,但如果程序运行良好(在该架构中没有代码问题等),并且它可以很好地发送和接收电子邮件(所有SMTP和IMAP都可以),那么我怀疑操作系统是否会阻止客户端成为领导者。
如果有什么问题,我会说客户自尊心不足,害怕成为mailto协议处理程序。大多数客户都无法抵制询问是否应该成为主要程序,如果您回答是,则将消息传递给其他应用程序和注册表。他们确保每个人都知道他们是新的邮箱之王。
因此,我首先会尝试以下基本故障排除方法:安装另一个邮件客户端,看看是否存在相同的问题。如果是,则您的操作系统是个恶霸,您需要探索这样的路线。
但是,如果此其他客户端可以进入默认程序俱乐部并成为mailto处理程序,则问题出在您的应用程序上。它是一个软弱无力的应用程序,不知道如何正确地表达自己。
但是,就像许多处于劣势地位的人等待着酷孩子收留他们一样(我的意思是Thunderbird。不要费心使用任何其他客户端),您的应用程序可以站在第三方客户端的肩膀上。
我们必须假设Thunderbird至少做了一件,也可能是两件,你的应用程序没有做到的事情。首先,它将自己的名称与注册表中的协议相关联。请到周围去看看,看看能否找到他的名字以及如何与mailto协议相关联。很有可能你可以把他的名字换成你的名字,或者至少尝试将协议钉在你的名字上。
T-Bird可能做的第二件事是将自己放入“默认程序”列表(这是7的一个功能,我并不是真的喜欢它,因为它背后有一个很酷的概念 - 即,让我们将应用程序一起分组,而不是每次等待并查看其中一个是否能够完成类似的工作。但Windows破坏了这种好时光(大惊喜),像一位过于保护孩子的父母一样出现在孩子的聚会上,说:“我认为这两个应该在这个组里,你不觉得吗?”
我希望通过从Thunderbird借用获取mailto的访问权限,您将被欢迎加入默认程序俱乐部,但如果您没有,并且仍然是mailto处理程序,则需要放弃它,至少在攀比这个问题之前沾沾自喜一两个星期。
现在,如果Thunderbird无法获取mailto控件,我非常倾向于认为Windows 7实际上已经建立了某种奇怪的种姓制度,即应用程序及其安装程序(例如用户)必须通过找出大秘密来证明自己有资格加入该组。
哦,如果一切都失败了,请尝试在没有网络的安全模式下重新启动,在那个环境中安装您的客户端,并启动它。看看是否可以在其他人处于暂停状态时将其设置为默认值。通过编写带有mailto的基本HTML页面进行测试运行(显然没有网络),并查看单击它是否会打开您的客户端。
然后,当您正常启动时,请祈祷好运。
如果以上任何内容对您有所帮助,请告诉我。
dumpbin.exe /headers Your.exe
并验证在FILE HEADER VALUES
中是否有machine (x64)
或machine (x86)
。只需尝试比较dumpbin.exe /headers C:\Windows\system32\notepad.exe
的输出与dumpbin.exe /headers C:\Windows\SysWOW64\notepad.exe
的输出即可。 - Oleg