2011-06-14 50 views
3

我正在使用SHDocVw.InternetExplorerClass刮擦网页。它工作正常,在XP中,但是当我尝试在Windows 7上运行它,我得到一个错误:当我运行在正常工作管理员模式下的Visual Studio在Windows 7中以管理员身份运行Visual Studio以与Internet Explorer交互

The interface is unknown. (Exception from HRESULT: 0x800706B5)

,但已发布应用程序必须运行在管理员模式下,这也是不可接受的。

是否有任何方式避开在管理员模式下运行应用程序?

回答

2

你是否绝对需要使用SHDocVw.InternetExplorerClass进行刮擦?您可以使用System.Net.WebClientHttpWebRequest发送常规HTTP Web请求吗?这些是首选的方法。如果您需要执行JavaScript或VBScript之类的脚本技术,通常应该只使用SHDocVw.InternetExplorerClass进行刮取。

+0

我很想避免使用它,但数据是在一个包含cookie和内容的登录屏幕后面,到目前为止,我还没有找到一种直接访问该页面的方法,而无需编写整个登录过程的脚本。我们有另一个网页,我们使用客户端凭证登录为他们做一些事情。有50-60个用户名/密码要记住,所以我们有一个应用程序,打开IE浏览器,并输入正确的用户名/密码,以便人们不必把它看在一个Excel文件或什么东西。他们只需双击客户端,应用程序就会记录它们。 – AndyD273 2011-06-15 12:32:46

+0

对于用户名和密码,您只需通过POST将这些变量作为变量发送(或者对于非常不安全的站点GET)即可。然后用一个webclient你只需要修改它来存储cookie。这个网站上有很多样本,告诉你如何做到这一点。 – 2011-06-15 14:16:49

+0

我已经玩过一些东西,但它是一个非常安全的网站,整个post/cookie的东西让我难住。假设我的第二个例子是规范(远程控制IE以避免从长列表中查找那些东西),我将如何避免必须以管理员身份运行?我喜欢Windows 7更安全,但是当这样的事情出现时,这让我很烦恼。我可能还会给'WebClient'另一面看,但它不会完全解决我的问题。 – AndyD273 2011-06-15 20:16:23

相关问题