0

Windows Mobile プロセスの現在のメモリ使用量を読み取る方法を探しています。

実際のプロセス オブジェクトにアクセスすることから始めました。processIdメソッドに渡されるようにするために、このソリューションProcess.GetProcessById(int processId)に従いました。

残念ながら、.NET CF 3.5 API はSystem.Diagnostics.Process、プロセス メモリを操作するためのプロパティ/メソッドを提供していません。

FDCSoft タスク マネージャーなどのツールは、より多くのプロセス データと共に各 WM プロセスのメモリ使用量を表示するため、これを行う方法が必要です。

4

1 に答える 1

1

CF BCL には、その情報を提供するものは何もありません。Toolhelp 関数を P/Invokeしてヒープ リストを作成し、それらを合計してプロセスの合計使用量を取得する必要があります。通常、呼び出し順序は次のようになります。

  • を呼び出して、フラグCreateToolhelp32Snapshotを確実に渡すTH32CS_SNAPHEAPLIST
  • Heap32ListFirst最初のHEAPLIST32構造の呼び出し
  • Heap32ListNextFALSE が返されるまで、さらに多くの構造体を呼び出し続けます
  • CloseToolhelp32Snapshot`Callを呼び出す
于 2012-10-15T14:03:14.713 に答える