2012-10-15 79 views
0

我正在尋找一種方法來讀取Windows Mobile進程的當前內存使用情況。如何使用.NET CF 3.5獲取進程的內存使用情況?

我開始了訪問實際過程對象。爲了得到processId要傳遞給Process.GetProcessById(int processId)方法我也跟着this解決方案。

不幸的是,.NET CF 3.5 API爲System.Diagnostics.Process不提供任何屬性/方法與進程內存的工作。

必須有辦法做到這一點,因爲諸如FDCSoft任務管理器等工具顯示每個WM進程的內存使用量以及更多的進程數據。

回答

1

有沒有在CF BCL那將會給你的信息。你需要P/Invoke Toolhelp Functions並建立一個堆列表,然後總結這些,以獲得總的進程使用情況。一般情況下,調用順序將是這個樣子:

  • 呼叫CreateToolhelp32Snapshot,確保您在TH32CS_SNAPHEAPLIST標誌傳遞
  • 呼叫Heap32ListFirst爲第一HEAPLIST32結構
  • 保持通話Heap32ListNext更多的結構,直到它返回FALSE
  • 呼叫Call CloseToolhelp32Snapshot`
相關問題