Delphi - 自己翻译的Performance Data Helper单元utPerf.pas

技术交流,DH讲解.

最近用这个,虽然网上貌似有,我还是自己翻译一个,累哟.
哈哈.希望朋友帮忙测试,如果使用中发现什么问题,联系我.

点击这里下载.

好的

来个例子,列举出当前系统总的进程数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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的.哈哈.

posted @   HuangJacky  阅读(962)  评论(2编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
AdminLogin
点击右上角即可分享
微信分享提示