6

WindowsプラットフォームでCPU使用率とネットワークスループットを取得するための最も効率的で基本的な方法は何ですか?

私が間違っている場合は私を訂正してください...

  1. Windows API // Win32?SDK?(c / c ++)#すみません、わかりません...
  2. Windows Management Instrumentation(WMI)、
    • Win32_PerfFormattedData_Tcpip_NetworkInterfaceクラスBytesReceivedPerSec
    • Win32_PerfRawData_PerfOS_ProcessorクラスPercentProcessorTime
  3. System.Diagnostics PerformanceCounter
  4. パフォーマンスデータヘルパー(PDH)、pdh.dll
  5. PerformanceCounter(c#/。netフレームワーク)または別の今日のメソッド?
  6. ntdll.dllのNtQuerySystemInformation

では、この値を取得するための最良の方法は何ですか? CPU使用率ネットワークインターフェイス速度の値の両方を取得するにはwindows.hkernel32.dllのみをインポートできますか?

ありがとう

4

2 に答える 2

1

C ++では、、などを使用PdhOpenQueryPdhAddCounterます。C #についてはわかりませんが、.NETで利用できるものがあると思います。

于 2011-11-15T09:57:02.040 に答える
1

最善の方法は何ですか

プログラムの残りの部分に依存します。.NET(質問のC#タグに注意)では、WMIとパフォーマンスカウンターの両方に簡単にアクセスできます。

Win32 APIから、すでにCOMを使用している場合は、パフォーマンスデータの読み取りに重要なボイラープレートコード(どのAPIから開始する場合でも)が必要になるため、WMIが最も簡単な場合があります。

于 2011-11-15T09:58:47.053 に答える