【发布时间】:2009-04-04 16:53:04
【问题描述】:
如何在程序中模拟这些调用? 就像说我想找到所有活动的连接。所以我想使用 netstat -a 我怎么能使用它而不必真正打开一个窗口?
【问题讨论】:
如何在程序中模拟这些调用? 就像说我想找到所有活动的连接。所以我想使用 netstat -a 我怎么能使用它而不必真正打开一个窗口?
【问题讨论】:
使用 CreateProcess,重定向输出。
如果调用应用程序不是 Windows 应用程序,则控制台窗口没有问题(因为默认情况下,控制台程序会继承其父控制台)。
如果调用应用程序是 Windows 应用程序,请将传递给 CreateProcess 的正确选项设置为默认将创建的控制台窗口隐藏。
【讨论】:
您可以使用 system() 库函数 - 我猜 Windows 也有它,因为它是自 C89 以来的标准 C 函数。
【讨论】:
您必须使用“开始”命令的“/B”选项。
cmd /C start "标题" /B netstat -i
我假设弹出控制台是您的主要问题, 和你收集数据的策略。
【讨论】:
永远不要使用 system() (不专业,蹩脚)
使用 Win32 网络 API。
见netstat的源码。
【讨论】: