如何用C/C++编程,获取网络接口数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C/C++编程,获取网络接口数据?相关的知识,希望对你有一定的参考价值。

参考技术A 获取网络借口数据?
是要过滤收发数据么?
过滤收发数据方法很多
用户层下的SPI接口可以做,不过比较简单,功能受限制
驱动层有NIDS过滤驱动可以实现,功能比较强大,商业防火墙等软件都是采用该方法实现的。
当然还有更底层的Hook过滤,不过实现更复杂,
参考技术B winsocket 编程,找找它的网络API学习学习 参考技术C 这种问题其实没什么必要来问,自己先查MSDN想想办法,对自己有好处。
既然是求所有元素,那不管子节点是否展开了。
估计代码:
HTREEITEM hSelectItem = m_tree.GetSelectedItem();
all_item(hSelectItem);
void all_item(HTREEITEM hItem)

HTREEITEM hChildItem = m_tree.GetChildItem(hItem);
HTREEITEM hNext = NULL;
while(hChildItem)

//GetItemData(hChildItem)还是GetItemText自己取
if(hChildItem.ItemHasChildren(hItem))

all_item(hChildItem);

hNext = m_tree.GetNextItem(hChildItem);
hChildItem = hNext;



自己测试了下有点问题,新代码
void ListTree(HTREEITEM hItem)

HTREEITEM hChildItem = m_tree.GetChildItem(hItem);
HTREEITEM hNext = NULL;
while(hChildItem)

//GetItemData(hChildItem)还是GetItemText自己取
TRACE( m_tree.GetItemText(hChildItem) + _T("\n"));
if(m_tree.ItemHasChildren(hChildItem))

ListTree(hChildItem);

hNext = m_tree.GetNextItem(hChildItem,TVGN_NEXT);
hChildItem = hNext;



首先SetCapture,WindowFromPoint()找到那个窗口的句柄,然后枚举窗口子控件EnumChildWindows。得到控件类名是不是syslistview32,得到控件句柄就好说了。
这个过程比较复杂。很多我自己没实际操作过。。。
相信对于SPY++的模拟,网上有很多开源,这只是个思路。

hook没有写到,你要做的是一个鼠标钩子,网上很多资料,我这里只是把树形控件的某个节点的子节点列出的方法。本回答被提问者采纳
参考技术D recv()函数你用什么协议? 第5个回答  2010-11-21 socket编程,你Google下

以上是关于如何用C/C++编程,获取网络接口数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何用C/C++模拟post提交数据,获得http相应。

如何用C语言程序输出以下图形 // * *** ***** ******* ***** *** *

如何用c/c++获取cpu利用率 和 内存利用率

如何用c/c++编写和调用dll动态链接库。

如何用C语言读取txt文档中最后一行数据

如何用 Sublime Text 实现C/C++代码的编译运行