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的.哈哈.