是否存在针对VB6的桌面应用程序使用跟踪系统?

时间:2012-02-29 10:42:31

标签: google-analytics vb6 monitoring tracking usage-statistics

我们正在尝试在我们针对迁移到新技术的VB6应用程序上获取一些使用指标。它相当庞大(如此大,以至于它刷新了VB6所具有的表格数量等限制)并且改进某种自定义监控本身并不是一项小任务。

我希望像DeskMetrics这样的工具(我不会将它们单独列出)会有某种遗留的COM控件,我们可以将其放入每个表单并进行一些应用程序级别的配置和安装在本地(现场)一组Web服务中,我们可以捕获一些统计数据,以便我们做出一些决定。

然而:

  1. 我找不到任何跟踪系统的直接兼容的VB6库

  2. 由于我们客户的网站未必完全连接到互联网,因此我们无法找到任何可以在未连接的客户网站上进行本地安装的平台更广泛的互联网。

  3. 所以我的问题是,是否有任何图书馆/第三方确实满足这些要求,或者我们最好将自己非常简单的跟踪解决方案推广到数据库并通过某种报告收集该信息。

2 个答案:

答案 0 :(得分:2)

您是否排除了谷歌分析?如果不是这可能是一个解决方案

对我来说,VB6已经有一段时间了,但很确定这会起作用

创建用户控件并将Web浏览器控件放在其旁边。然后让控件自动导航到您自己的网站,转到一个只有分析代码的空白页面。在查询字符串上添加已显示的表单。这将为您提供基本的表单使用信息。

如果您需要跟踪事情,请向控件添加一个方法来记录事件,并使用ExecScript调用分析API来传递该表单所需的信息。

一旦控件正在工作,应该是将其放到每个表单上的简单问题。 (你当然想让它在运行时自己隐藏它)

当然,这一切都依赖于您的客户可以从他们的工作站访问互联网

答案 1 :(得分:0)

我最近有一个项目,我需要做类似的事情。我创建了一个名为clsTrace

的类
Option Explicit
Private m_RoutineName As String
Public Sub StartTrace(RoutineName As String)
    m_RoutineName = RoutineName
    TraceIndent = TraceIndent + 1
    Call writeout("Start " & RoutineName)
End Sub
Private Sub EndTrace(s As String)
    Call writeout("End " & m_RoutineName)
    TraceIndent = TraceIndent - 1
End Sub
Private Sub Class_Terminate()
    Call EndTrace(m_RoutineName)
End Sub
Private Sub writeout(sMessage As String)
    'write to database, file, screen, etc
End Sub

添加了名为TraceIndent

的全局变量

然后我写了一个小程序来查看frm,bas,cls文件,找到函数和子defs(例如Public Sub Private Function Friend Function等)以及defs的名称。在def之后,我插入了行Dim cTrace as new clsTrace: cTrace.StartTrace(NameOfSourceFile.NameOfFunction)

因为在退出子\函数时类被销毁,所以class_terminate将在退出时自动调用。如果操作正确,这将生成函数\ subs。

的每个进入和退出的缩进日志文件

您应该能够使用输出来确定单击按钮的次数或窗体的打开次数(查找"启动frmName.buttonName_Click"条目)。