Creación de plugins

Un plugin de agente IBM Task Mining es una clase C# que hereda de la clase AgentPlugin disponible en el archivo TaskMining.Agent.Plugin.dll . Puede encontrar este archivo DLL en su directorio de instalación del agente IBM Task Mining (por ejemplo, C:\Program Files\IBM Task Mining Agent\TaskMining.Agent.Plugin.dll).

Creando un proyecto de complemento

Nota: Un proyecto de plug-in del Agente IBM Task Mining debe contener sólo una implementación de plug-in. Si se necesitan varios plug-ins, cree proyectos independientes para cada uno. Mantener una conexión única entre el proyecto.NET y la implementación del plug-in.

Para crear un proyecto de complemento, puede utilizar cualquiera de los siguientes métodos:

  • Utilice la plantilla de plugin de agente disponible en Visual Studio 2022.

Plantilla de proyecto

  • Cree un proyecto net8.0-windows con la referencia TaskMining.Agent.Plugin.dll.

En el siguiente fragmento de código se muestra un ejemplo para un proyecto de plugin. En este ejemplo, HintPath especifica la ruta al directorio de instalación del agente IBM Task Mining.


    <Project Sdk="Microsoft.NET.Sdk">

        <PropertyGroup>
            <TargetFramework>net8.0-windows</TargetFramework>
        </PropertyGroup>

        <ItemGroup>
            <Reference Include="TaskMining.Agent.Plugin">
                <HintPath>C:\Program Files\IBM Task Mining Agent\TaskMining.Agent.Plugin.dll</HintPath>
            </Reference>
        </ItemGroup>

    </Project>

Creando un punto de entrada

Después de crear el proyecto, debes crear un punto de entrada para el complemento. Esta es la clase que hereda deAgentPlugin clase.

Importante: Debe especificar processName en el constructor base de la clase AgentPlugin.

Un ejemplo de un punto de entrada para el complemento:

    using TaskMining.Agent.Plugin;

    namespace TaskMining.Notepad.Plugin
    {
        public class NotepadPlugin : AgentPlugin
        {
            public NotepadPlugin()
                : base("notepad")
            {

            }
        }
    }
In this example, the plugin class is `NotepadPlugin` and the `processName` is `notepad`.

Mejora de las propiedades de los ganchos y del reloj

Por defecto, IBM Task Mining Agente captura sólo los siguientes eventos:

  • Clics del mouse
  • Botones y combinaciones de teclado, como: Tab, Return, Ctrl+C, Ctrl+V

IBM Task Mining Los plugins de agente añaden cuatro propiedades más a esta lista para mejorar los ganchos de teclado. De forma predeterminada, estos valores están establecidos enfalse .

Tabla 1. Propiedades que mejoran los ganchos de teclado

Propiedad Descripción
WatchAltKeys Habilitar o inhabilitar sucesos de teclas ALT de teclado.
WatchCtrlKeys Habilitar o inhabilitar sucesos de teclas de control del teclado.
WatchFunctionKeys Habilitar o inhabilitar sucesos de teclas de función de teclado.
WatchNumberKeys Habilitar o inhabilitar sucesos de teclas de número de teclado.

Modificar grabaciones de eventos de mouse y teclado

Para interceptar cualquier evento registrado por el agente IBM Task Mining, puede utilizar dos eventos:

  • MouseDown
  • KeyboardDown

Ambos eventos tienen lo siguienteEventArgs con propiedades que permiten comprender, modificar o cancelar la actividad registrada:

  • PluginMouseEventArgs
  • PluginKeyboardEventArgs

Estos dos EventArgs comparten las siguientes tres propiedades que puede utilizar para editar las tareas en IBM Task Mining.

Tabla 2. Propiedades utilizadas para editar tareas

Propiedad Descripción
Títulos Esta propiedad obtiene o establece los títulos (Page & URL Titles ) de los eventos.
Selector Esta propiedad obtiene o establece el selector (Selector de nombres de tarea) de sucesos.
Cancelar Esta propiedad obtiene o establece un valor para indicar si el evento debe cancelarse.

Propiedades de tarea de proyecto

Este complemento registra solo eventos del teclado y cancela la grabación de todas las acciones del mouse. También especifica que se cambie el nombre del selector por Text editor y que se registren todos los sucesos de teclas de función.

    using TaskMining.Agent.Plugin;

    namespace TaskMining.Notepad.Plugin
    {
        public class NotepadPlugin : AgentPlugin
        {
            public NotepadPlugin() 
              : base("Notepad")
            {
                this.WatchFunctionKeys = true;
                this.KeyboardDown += NotepadPlugin_KeyboardDown;
                this.MouseDown += NotepadPlugin_MouseDown;
            }

            private void NotepadPlugin_MouseDown(object sender, PluginMouseEventArgs args)
            {
                args.Cancel = true;
            }

            private void NotepadPlugin_KeyboardDown(object sender, PluginKeyboardEventArgs args)
            {
                if (args.Selector == "Win32[@ClassName=RichEditD2DPT][@Type=document][@Name=Text editor]")
                {
                    args.Selector = "Text editor";
                }
                else
                {
                    args.Cancel = true;
                }
            }
        }
    }

Usando AutomationContext

IBM Task Mining El agente registra eventos cuando los usuarios hacen clic o pulsan botones en un elemento. Este elemento es unAutomationElement y se puede encontrar en el interiorPluginMouseEventArgs yPluginKeyboardEventArgs . AgentPluginTambién permite acceder a cualquierAutomationElement presente en la pantalla mediante el usoAutomationContext .

Tabla 3. Propiedades que gestionar AutomationElements

Propiedad Descripción
GetFocusedElement Esta propiedad obtiene el elemento enfocado actualmente como AutomationElement.
GetFromPoint Esta propiedad crea un AutomationElement a partir de un punto determinado.
GetFromHandle Esta propiedad crea un AutomationElement a partir de un windowshandle (HWND) determinado.

Al utilizar estas propiedades, puede acceder a cualquier elemento presente en la pantalla del usuario, junto con sus detalles como nombre, valores y ubicación.

crear sucesos

Puedes usarCreateActivity para crear un evento sin esperarMouseDown yKeyboardDown . Esto le permite impulsar cualquier tarea futura simplemente ejecutandoCreateActivity . Podría resultar útil para actividades que no sean planteadas directamente por el usuario. Por ejemplo, un correo electrónico en Microsoft Outlook puede ser interceptado y empujado a IBM Task Mining eventos por esta función.

Puede encontrar más detalles sobre esto en las sugerencias de código disponibles en su IDE, como Visual Studio. IntelliSense.

Después de crear y configurar su complemento, puede proceder a probarlo e implementarlo. Para obtener más información, consulte Pruebas y despliegue de plugins.