簡體   English   中英

如何獲取每秒接收和發送的網絡字節數對於C ++ for Windows中的進程(輸入:進程ID或句柄)?

[英]How to get Received & Sent Network Bytes per second For a process (input: process id or handle) in C++ for Windows?

我需要像資源監視器一樣獲取每個進程的網絡信息。 我需要找到收到的字節/秒和發送的字節/秒。

我試圖使用Win32_PerfRawData_PerfProc_Process類來獲取它。 但除了網絡細節之外,它還提供IO,文件字節。

我試圖使用Win32_PerfRawData_Tcpip_NetworkInterface類獲取詳細信息。 但它提供了每個網絡接口的詳細信息

然后我嘗試使用GetTcpStatistics函數。 因為已經使用了MIB_IPSTATS。 MIB_IPSTATS顯示整個過程的累積結果。

  1. 是否有其他MIB結構可以按流程方式顯示這些詳細信息?
  2. 如何在資源監視器中獲取每個進程的字節/事物,在Win32_PerfRawData_Tcpip_NetworkInterface中顯示為整個進程的累積數據
  3. 我可以根據其他值使用Win32_PerfRawData_PerfProc_Process類來計算字節數/秒嗎?
  4. 有沒有像GetProcessMemoryInfo這樣的方法(這個方法是獲取進程內存)來獲取每秒接收和發送的字節數?
  5. 有沒有其他方法來計算它們?

您可以嘗試查看性能計數器。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa373083(v=vs.85).aspx

這是使用性能計數器獲取網絡速度的代碼項目示例。 它在c#中,但您應該能夠轉換為c ++。

http://www.codeproject.com/Articles/6259/Monitoring-network-speed '

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM