【问题标题】:How to prevent IE from showing "Internet Explorer restricted this webpage from running scripts ..." message when opening just a text file?仅打开文本文件时,如何防止 IE 显示“Internet Explorer 限制此网页运行脚本...”消息?
【发布时间】:2016-01-19 13:40:50
【问题描述】:

在我的软件中,我需要打开一个纯文本文件以供查看。我选择使用默认的网络浏览器来做到这一点,因为它肯定在任何系统上都可用。 (请注意,由于“仅供查看”的限制,我不能使用记事本。)

为此,我执行以下操作:

ShellExecute(NULL, L"open", TextFilePath, NULL, NULL, SW_SHOWNORMAL);

这适用于所有网络浏览器,除了...(你猜对了)IE。这显示了这条消息:

“Internet Explorer 限制此网页运行脚本或 ActiveX 控件”

文本文件显然没有任何脚本或 Active X 控件。这只是一个.txt 文件!但可以理解的是,这条消息让一些用户感到担忧,他们认为我的程序试图在他们的计算机上运行“坏”的东西。

所以我很好奇,是否有办法在不修改任何全局 IE 设置的情况下防止出现这种愚蠢的消息?

【问题讨论】:

  • 你是如何让 ShellExecute 运行 IE 而不是记事本的?对于 .txt 文件,“打开”动词默认为记事本,不是吗?
  • 为什么需要在网络浏览器中打开.txt文件?我会在应用程序中合并它的查看方法(因为您可以很容易地编写代码以将所述.txt 文件的内容作为string 写入,如果您可以将其写入.txt 文件,或者制作它进入HTML 页面。
  • @HarryJohnston:真的。唔。我刚刚在TextFilePath 变量中提供了一个.txt 文件的路径,然后它在IE 中打开了它。我相信“编辑”会在记事本中打开它。
  • @DDPWNAGE:是的。我应该承认我走的是捷径。
  • 这似乎很奇怪 - 如果您在资源管理器中双击文本文件会发生什么?还是右键单击它并选择“打开”? (这个特定文本文件的行为与任意文本文件的行为是否不同?)

标签: c++ windows internet-explorer winapi


【解决方案1】:

也许你应该执行以下步骤:

  1. 转到互联网选项
  2. “高级”选项卡
  3. 向下滚动到安全性
  4. 勾选“允许活动内容在我的电脑上的文件中运行

希望这会奏效。

【讨论】:

  • 这可行,但不方便的是每个用户必须执行一次;但是为什么 IE 对于不包含任何脚本或活动内容的文件和网页会弹出此警告?
猜你喜欢
  • 2013-01-07
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多