1

我的程序需要监控程序运行时访问的所有网站。

我已经找到了一些方法来做到这一点,我想知道哪种方法是“最好的”(我的意思是最好的,最容易实现并提供最佳性能)。该程序仅适用于较新版本的 Windows!它应该适用于 x86 和 x64。我需要能够监控的浏览器是 IE、FireFox、Chrome 和 Opera。

我可以查看每个浏览器的历史文件,但这将是一个非常糟糕的方法(较新版本的浏览器可能会使代码停止工作等)

我可以检查每个窗口(HWND),看看它是否是访问网站的浏览器......但这真的是一个好方法吗?如果是这样我该怎么做?链接或代码片段谢谢:)

我可以使用数据包嗅探器,但如果我只想要网址,那就有点过分了......

代理不是一个好的解决方案(对吗?),因为它会减慢浏览速度(至少我这么认为)......

或者我可以用其他更好的方式来做吗?

4

1 回答 1

2

由于您需要处理多个浏览器,因此代理解决方案将是最可靠的解决方案- 如果设计得当,不应该产生太多开销。数据包嗅探太复杂了。

您也许可以破解支持您当前所需浏览器的当前版本的特定内容,但请注意“hack”一词,并在其中添加“维护噩梦”。

此外,您可能需要重新考虑您的标签 - qeustion 与 .net、vc++ 或 vstudio 并没有太大关系 - 不过它可能需要 win32 api :)

于 2012-07-18T17:47:19.877 回答