c++ - Visual C++ 监控访问网站的最佳方式?

标签 c++ .net visual-studio visual-c++

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

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

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

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

我可以使用数据包嗅探器,但如果我只想要 url,那会有点矫枉过正......

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

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

最佳答案

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

您可能能够破解某些支持您当前所需浏览器当前版本的特定内容,但请注意“破解”一词,并将“维护噩梦”添加到组合中。

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

关于c++ - Visual C++ 监控访问网站的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546538/

相关文章:

c++ - C++编译的无限时间

c++ - 如何查找类中未定义的虚函数

c# EnumerateFiles 通配符返回不匹配?

c++ - Visual Studio : Syntax highlighting for Doxygen-style C++ comments

c++ - 错误 : pasting "Java_com_my_packagename_myClass_myMethod" and "(" does not give a valid preprocessing token

c# - 在每次调用时重新评估常量 FieldExpression 的值

c# - 我们什么时候为字典执行 GetHashCode()?

c# - 为什么 Visual Studio 向我的命名空间添加一个 at 符号 (@)?

visual-studio - Visual Studio 使用 XHTML 标签关闭 HTML5 标签

c++ - 为什么用cin做数值变量是 "bad"?