Существуют ли какие-либо системы отслеживания использования настольных компьютеров, ориентированные на VB6? - PullRequest
7 голосов
/ 29 февраля 2012

Мы пытаемся получить некоторые показатели использования приложения VB6, на которое мы нацелены для перехода на новые технологии. Он довольно массивный (настолько большой, что его можно сравнить с ограничениями по количеству форм и т. Д., Которые есть в VB6) и модифицировать какой-либо пользовательский мониторинг сам по себе не будет маленькой задачей.

Я надеялся, что такие инструменты, как DeskMetrics (я их не выделяю), будут иметь какой-то устаревший COM-элемент управления, который мы могли бы перетащить в любую форму, с небольшой настройкой и установкой на уровне приложения. локального (локального) набора веб-сервисов мы могли бы собирать некоторую статистику, которая позволила бы нам принимать некоторые решения.

Тем не менее:

  1. Нет доступных напрямую совместимых библиотек VB6 для любой из этих систем слежения, которые я мог бы найти

  2. Поскольку сайты наших клиентов не обязательно полностью подключены к Интернету, у нас возникают проблемы с поиском любой платформы, которую можно установить локально, на сайте клиента, который не подключен к более широкому Интернету.

Итак, мои вопросы: есть ли какие-либо библиотеки / сторонние организации, которые выполняют эти требования, или мы лучше всего внедряем наше очень простое решение для отслеживания в базу данных и собираем эту информацию с помощью какого-либо отчета.

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вы уже исключили Google Analytics? Если нет, то это может быть решением

Для меня это было какое-то время для VB6, но я уверен, что это сработает

Создайте пользовательский элемент управления и поместите в него элемент управления веб-браузера. Затем заставьте элемент управления автоматически перейти на ваш собственный веб-сайт на пустую страницу, на которой есть только код аналитики. В строке запроса добавьте в отображаемую форму. Это даст вам основную информацию об использовании формы.

Если вам нужно еще что-то отслеживать, добавьте метод к элементу управления для регистрации событий и используйте ExecScript для вызова API-интерфейса аналитики для передачи необходимой информации для этой формы.

После того, как элемент управления заработал, нужно просто поместить его в каждую форму. (Вы, конечно, захотите, чтобы он скрывал себя во время выполнения)

Конечно, все это зависит от того, имеют ли клиенты доступ к Интернету со своей рабочей станции.

0 голосов
/ 03 марта 2012

Недавно у меня был проект, в котором мне нужно было сделать что-то подобное.Я создал класс с именем 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.После определения я вставил строку Dim cTrace as new clsTrace: cTrace.StartTrace(NameOfSourceFile.NameOfFunction).

Поскольку класс уничтожается при выходе из подпрограммы \, class_terminate будет вызываться автоматически при выходе.Если все сделано правильно, это создаст файл журнала с отступом для каждой записи и выхода из ваших функций \ subs.

Вы должны иметь возможность использовать выходные данные, чтобы определить, сколько раз была нажата кнопка или сколько разформа была открыта (ищите записи «Start frmName.buttonName_Click»).

...