运行 Windows 7 (RC,64 位)。几个月来一直没有出现问题,今天突然发现点击链接变得非常慢。
我在两个地方注意到了这一点。
(1)单击 Outlook 电子邮件中的超链接启动 Firefox 大约需要一分钟。启动 Firefox 本身是瞬间完成的 - 我有一个 SSD 驱动器和一个非常快的 CPU。 (2)打开 Outlook 电子邮件中附带的 Word 文档也需要很长时间。
如果我没记错的话,这两者唯一的共同点是它们都使用 DDE 机制向应用程序发送 DDE 打开命令。在 Windows XP 下,有时可以通过取消选中文件类型映射中的“使用 DDE”复选框来解决此问题,但是,我在 Windows 7 下找不到任何等效方法。
答案1
如果 Internet Explorer 速度很慢,那么即使您没有将 Internet Explorer 用作默认浏览器,单击 Office 中的链接也会很慢。因此:请检查 Internet Explorer 是否仍运行良好。
尽管你似乎确信 DDE 是罪魁祸首,但 Office 有一个令人惊讶的奇怪功能:第一的使用 Internet Explorer 组件来检查所点击的 URL 是否有效。它不会将自己标识为 Internet Explorer;在访问日志中可能会看到:
User Agent: Microsoft Office Existence Discovery
之后,它生成的 URL到默认浏览器。即:
如果对 URL 的隐藏调用产生某种重定向,则默认浏览器甚至不会获得原始 URL,而是获得重定向的 URL。
如果该网站由于某种原因阻止了用户代理“Microsoft Office Existence Discovery”,或者您的 Internet Explorer 设置以某种方式阻止了对该网站的正确访问,那么该链接可能看起来是无效的,而实际上使用普通浏览器它可以正常工作。
有没有想过为什么在单击 Office 中的链接时,浏览器会不断将您重定向到某个登录页面? 答案是:如果 Internet Explorer 未在网站上进行身份验证(尤其是当它不是您的默认浏览器时),则某些网站可能会将您重定向到登录页面,从而使 Office 忘记您实际单击的 URL...
有关这个有趣而烦人的“Microsoft Office 协议发现”的更多详细信息,请访问 MicrosoftMicrosoft Office 存在发现协议的说明博客文章:
在 Microsoft Office 2007 中从 URL 位置打开文档时,Office 库可以向 Web 服务器发出 HTTP HEAD 请求以获取打开的 URL。此请求发送时将 User-Agent 设置为“Microsoft Office Existence Discovery”。此调用是 Office 2007 的新功能。
HEAD 请求的目的是检查内容是否以文档形式存在于 URL 位置,而不仅仅是作为只读会话中流下的临时资源。该调用还将尝试获取 Web 服务器在 HEAD 响应中返回的内容的最后修改时间。
[...]
此调用在所有 URL 打开尝试中发生,即使本身未请求编辑。因此,额外的 Web 调用(从 Office 应用程序在其网络会话中的进程空间而不是单独会话中的 Web 浏览器发出)可能会导致某些用户看到额外的身份验证提示 (401) 或会话状态丢失以及不必要的重定向 (302) 到登录页面或其他反馈表单。这是预期行为。
似乎可以使用注册表禁用此功能;请参阅我的回答点击后 MS Word 验证链接。
答案2
我离目标又近了一点。
重新启动解决了该问题。:) 这并不是一个永久的解决方案......
据微软程序员 Raymond Chen 称,DDE 应该已经过时了,但似乎大家仍然在使用它。
他说,DDE 的问题在于它是协作的,一个挂起的应用程序可能会导致所有其他应用程序在尝试使用 DDE 时无法正常响应。
就我的情况而言,重新启动解决了问题,因为它关闭了无法正确响应 DDE 消息的应用程序。
在 Windows XP 时期,解决此问题的一个常见方法是取消选中文件类型处理程序中的“使用 DDE”框,但该复选框似乎在 Windows 7 中不再存在。尽管 DDE 已经过时,但应用程序仍在注册表中注册它,因此 Outlook 2007 等愚蠢的应用程序仍然使用它来启动超链接。
这个解决方案不是很有用,因为即使是像 Firefox 这样比较愚蠢的应用程序也非常热衷于使用 DDE,以至于每次启动时它们都会重新注册为使用 DDE。唯一的永久解决方案是更改注册表中相应键的安全设置,这样 Firefox 就无法对其进行写入。
我对这个答案还是不太满意。
答案3
不久前我也遇到过类似的问题,问题肯定出在 Outlook 上,打开链接和附件的速度变得非常慢。对我来说,是 PST 文件的大小超过了 4 GB。
尝试压缩您的 PST 或 OST 文件:
- 工具 | 账户设置
- 点击
Data Files
选项卡 - 选择您的邮箱并点击
Settings
- [交换模式] 在
Advanced
选项卡中,点击Offline Folder File Settings
- 点击
Compact Now
MSKB 还有一些建议:如何解决 Outlook 2007 中的性能问题
答案4
我运行的是装有 Office 2007 的 XP。我最初尝试了许多解决方案,讨论使用“%1”并在各种文件扩展名中禁用 DDE,但它似乎只对选定的扩展名有效,并且仅在从特定位置启动时才有效。(即从我的“快速启动”工具栏和 Outlook 启动并不总是能加快速度。)
当我遇到同样的问题时,我尝试了以下所有解决方案。其中一个似乎有效,但我不确定是哪一个。我从未确定根本原因,尽管问题最初发生在我正在执行涉及外部驱动器的备份工作中,并且当时我正在打开一个相当旧的 Outlook pst 文件。在注意到问题之前不久,我在尝试导出旧的 Outlook 日历时遇到了某种(ODBC?)错误。我怀疑其中一个操作可能与之有关。
开始菜单 | 运行 | Cmd | chkdsk c:\ /F(当解决方案出现时选择重新启动终端,尽管我在实际重新启动之前尝试了解决方案 2 和 3)。
已验证网络 DDE 和 DDE DSDM 在我的服务中已被禁用(它们已经被禁用)。
已确认我最近没有安装任何可能造成干扰的新东西(我没有)。
开始 | 设置 | 控制面板 | 设置程序访问和默认值 | 自定义 | 选择我的选项(我使用 Outlook 收发电子邮件,使用 Firefox 作为浏览器)。当我这样做时,Microsoft 修复了一些东西。此时,我重新启动(从选项 1),运行 chkdsk 后,一切恢复正常。
我还看到有些人在执行 Office 修复重新安装后获得了成功,但我打算将此作为最后的手段,因为我手头没有磁盘。
祝你好运。