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
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.

- Cree un proyecto
net8.0-windowscon la referenciaTaskMining.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.
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:
MouseDownKeyboardDown
Ambos eventos tienen lo siguienteEventArgs con propiedades que permiten comprender, modificar o cancelar la actividad registrada:
PluginMouseEventArgsPluginKeyboardEventArgs
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. |

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.