在命令提示符中,我可以使用:
netsh int tcp set global congestionprovider=ctcp
我想知道是否有一种方法可以在不使用system()的情况下在C / C ++中以编程方式完成相同的操作。
我假设我可能不得不使用COM?
编辑:关于如何访问我通常会通过C / C ++中的netsh访问的其他信息的信息也很好:)(例如:netsh int tcp show global
)
答案 0 :(得分:0)
在行之间进行读取,这可以通过手动注册表修改以与Windows XP/Windows Server 2003 backport of CTCP相同的方式实现。假设您必须使用RegSetValueEx将给定值设置为1并使用RegQueryValueEx检查它以查看此时的状态。
When you apply this hotfix, the following registry subkey is created:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
The properties of this subkey are as follows:
Name: TCPCongestionControl
Type: REG_DWORD
Value: 1
When the value is set to 1, CTCP support is enabled. When the value is set to 0, CTCP support is disabled.
这是否适合你,或者没有重启,取决于1)相应的组件是否自动检测注册表mods 2)是否在新的操作系统上都有。但是,这似乎不太难以尝试。