如何使用Delphi创建Windows性能计数器?

6

我开发了一个需要监控的应用程序。我们的监控站点经理希望我的应用程序通过“Windows性能监视器”生成一些性能参数。

然后,他可以通过WMI在Windows和“ManageEngine”公司的“ApplicationManger”产品中监视它们。

我正在寻找Delphi实现来注册/创建Windows性能计数器并设置它们的值。


你确定要打开远程WMI的门吗?我个人会考虑其他方式。但无论如何,你的问题对我来说相当不清楚。你是在寻找什么Delphi实现?你能更具体地说明你想要注册/创建哪些参数以及你想要设置哪些值吗?或者,你只是在寻找一些现成的远程性能监视器解决方案吗? - TLama
感谢TLama,我的网站使用ManageEngine公司的“ApplicationManger”产品来监控应用程序。该应用程序具有名为“Windows性能计数器监视”的功能,使用WMI。我希望我的Delphi应用程序创建/注册一些计数器并填充它们,以便在Windows的“性能监视器”和提到的应用程序中使用。为此,我需要一种直接或通过组件实现的方法。谢谢。 - Moh Tarvirdi
请查看WMI Delphi Code Creator。http://theroadtodelphi.wordpress.com/wmi-delphi-code-creator/ - Hidden
你正在寻找一个API函数来为你的应用程序创建自定义的Windows性能计数器吗?已添加winapi标签。 - mjn
1
@Polymorphin,那应该是一个答案。 - Johan
你有阅读文档吗?http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa373083.aspx - David Heffernan
1个回答

4
创建(注册)和使用性能计数器是一个非常广泛的主题。您可以使用以下替代方案从本机代码(C++或Delphi)为您自己的应用程序创建性能计数器。

使用性能扩展 DLL。


提供计数器数据的方法(使用2.0版本,仅适用于Windows Vista及以上操作系统)
创建一个WMI性能提供程序,创建实现IWbemHiPerfProvider接口的COM服务器。
我不知道有没有Delphi的示例项目来创建性能计数器。过去我使用了.Net和Delphi为我的客户创建了一些性能计数器,但是很遗憾我不能分享这段代码。但是因为你在问题中提到了WMI,我建议你阅读MSDN关于性能计数器的文档,然后查看这篇文章使用C++开发WMI Hi-Perf提供程序,最后将文章的代码翻译成Delphi,如果你有任何具体的问题,可以回来提出新的问题。

1
你可以在这里找到一个例子(http://tondrej.blogspot.com/2004/09/perfmon-ready.html)。 - Ondrej Kelle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接