delphi – 是否有收集Win32应用程序使用情况统计信息的工具?
有没有可以做到这一点的工具?就像一个网站,出于同样的基本原因?
更新— 解决方法
我过去做过类似的事.
我有两种方法可以做到这一点. 使用动作: 使用操作时,通过将代码放在TActionList.OnExecute处理程序中,可以非常轻松地跟踪UI使用情况.此事件在单个操作执行之前触发,允许您跟踪发生的事件和时间. 例如: procedure TForm1.ActionList1Execute(Action: TBasicAction; var Handled: Boolean); begin WriteToLog(TAction(TBasicAction).Caption); end; 没有行动: 如果你不使用动作它会变得有点困难但并非不可能.您创建必须创建一个带有TMenuItem后代的新单元,其中包含您的日志代码.确保将新单元放在每个使用它的单元的使用条款中的MENU单元之后.新的后代必须被称为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的uses子句中的最后一个单元,并将其与要跟踪的菜单(TMainMenu或TPopupMenu)放在一起.如果您不想跟踪特定单元,请不要包含它. uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,ActnList,Menus,MenuItemLogger; 这两种方法很简单,虽然它们起作用,但它们可能不是最好的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |