是否有收集的Win32应用程序使用统计信息的工具吗? [关闭](Is there a tool

2019-07-30 01:39发布

是否有任何工具,可以做到这一点? 就像网站和相同的基本原因是什么?

UPDATE ---我的意思是收集关于我写我需要知道什么选择的是最常用的时候,时间等应用统计信息

Answer 1:

我做了这样的事情过去。

有迹象表明,我能想到的做这两种方式。

用行动:

当使用行为就很容易通过将代码在TActionList.OnExecute处理程序遵循UI使用。 个人动作执行之前,它允许您追踪发生了什么事,当这个事件触发了。

例如:

procedure TForm1.ActionList1Execute(Action: TBasicAction; var Handled: Boolean);
begin
   WriteToLog(TAction(TBasicAction).Caption);
end;

无操作:

如果你不使用操作变得有点困难,但并非不可能。 创建要与TMenuItem后裔在其日志记录代码创建一个新的单位。 确保你的新单元放置菜单单位后的使用条款中的每一个单元,使得使用它。 新的后裔有被称为TMenuItem这个工作。 因为你基本上重新采用同一类,但具有扩展功能。

这里是一个快速单元我扔在一起,呈现出非常简单的例子。

unit MenuItemLogger;

interface

uses Menus;

Type
  TMenuItem = class(Menus.TMenuItem)
  public
    procedure Click; override;
  end;

implementation

uses windows;

{ TMenuItem }

procedure TMenuItem.Click;
begin
  outputdebugstring(PWideChar(self.Caption));
  inherited;
end;

end.

使用上述装置把它作为最后一个单元的任何形式/ DataModule中的与要跟踪菜单(TMainMenu或TPopupMenu)用途子句。 如果你不想跟踪特定的单元不包括它。

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnList, Menus, MenuItemLogger;

这两种方法都简单而他们做的工作,他们可能不是最好的解决方案。



Answer 2:

我假设你正在谈论的Windows性能计数器

看看这个链接

使用Windows系统监视器(SYSMON)看到的结果

看看这个链接

还有教授的性能监控组件德尔福



Answer 3:

你需要一些覆盖分析工具?



文章来源: Is there a tool to gather Win32 application usage statistics? [closed]