PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
22741 06/08/09 10:59:38 RE(2):PB9.0: CPU使用率取得 By tamataku
22739 06/08/08 18:48:09 RE(1):PB9.0: CPU使用率取得 By Valkyrie
22737 06/08/07 14:19:21 PB9.0: CPU使用率取得 By tamataku

カテゴリ:スクリプトの記述
日付:2006年08月08日 18:48 発信者:Valkyrie
題名:RE(1):PB9.0: CPU使用率取得

tamatakuさん、こんばんは。

getcpust.dll では、うまくいきませんでした。
http://nienie.com/~masapico/api_sample_pdh03_vb.html を参考に、PDH.DLL (Performance Data Helper DLL) 
を使用したところ、それなりのデータが取れました。(Windows XP SP2で確認、2003は未確認)

-- 外部関数定義 --
// Windows Performance Data Helper
FUNCTION LONG PdhOpenQuery( &
REF LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbOpenQuery\"

FUNCTION LONG PdhAddCounter( &
LONG QueryHandle, &
STRING CounterPath, &
REF LONG CounterHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbAddCounter\"

FUNCTION LONG PdhCollectQueryData( &
LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhCollectQueryData\"

FUNCTION Double PdhGetDoubleCounterValue( &
LONG CounterHandle, &
REF LONG CounterStatus &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhVbGetDoubleCounterValue\"

FUNCTION LONG PdhCloseQuery( &
LONG QueryHandle &
) LIBRARY \"pdh.dll\" ALIAS FOR \"PdhCloseQuery\"

-- スクリプト --
LONG ll_rc
LONG ll_Query
LONG ll_Counter
LONG ll_CounterStatus

// 新規クエリーのオープン
ll_rc = PdhOpenQuery(ll_Query)

// CPU使用率を計測するカウンタを追加
ll_rc = PdhAddCounter(ll_Query, \"\\Processor(_Total)\\% Processor Time\", ll_Counter)

//計測開始
ll_rc = PdhCollectQueryData(ll_Query)
sleep(5)

// 計測終了
ll_rc = PdhCollectQueryData(ll_Query)

// 結果の表示
Messagebox(\"CPU 使用率\", String(PdhGetDoubleCounterValue(ll_Counter, ll_CounterStatus)))

// 後処理
PdhCloseQuery(ll_Query)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS Oracle Net 9
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle10G
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.