Delphi - 自己翻译的Performance Data Helper单元utPerf.pas
技术交流,DH讲解.
最近用这个,虽然网上貌似有,我还是自己翻译一个,累哟.
哈哈.希望朋友帮忙测试,如果使用中发现什么问题,联系我.
好的
来个例子,列举出当前系统总的进程数:
Implementation Uses utPerf ; {$R *.dfm} Function GetProcessCount( ): Int64 ; Var h: PDH_HQUERY ; c: PDH_HCounter ; cType: Cardinal ; value: TPDH_FMT_COUNTERVALUE ; Begin Result := -1 ; If PdhOpenQuery( Nil, 0, h ) <> Error_Success Then Exit ; Try Assert( PdhAddCounter( h, PROCESSCOUNT, 0, c ) = 0 ) ; If C = 0 Then Exit ; PdhCollectQueryData( h ) ; If PdhGetFormattedCounterValue( c, PDH_FMT_LARGE, c, value ) = 0 Then Result := value.largeValue ; Finally PdhCloseQuery( h ) ; End ; End ; Procedure TForm1.btn1Click( Sender: TObject ) ; Begin ShowMessage( IntToStr( GetProcessCount ) ) ; End ;
更多的相关的API我在使用测试.
打算接下来把 MS的Debug Helper API 给翻译成D的.哈哈.