![]() | ![]() |
Página principal | Productos | Descargas | Comprar | Asistencia | Mapa del sitio |
API unificada de NCH SoftwareUna completa solución API para los productos de NCH SoftwareNuestro software puede ser controlado por otros programas usando una variedad de métodos escritos en muchos lenguajes diferentes. La Interfaz de Programación de Aplicaciones (API) unificada de NCH introduce una manera simple de abordar la necesidad en sus sistemas para controlar nuestros programas. La API permite el intercambio de solicitudes y datos que se realizan entre los programas a través de diversos medios.
En los ejemplos a continuación, "NCHAPIKey" se refiere a un código API Key único que identifica el producto de software al que está intentando controlar y comunicarse. Todos los comandos y argumentos son enviados a través de la API unificada como cadenas, las cuales responden con un número (valor entero devuelto) y una cadena de resultado. Para más información sobre códigos API Key y los comandos y argumentos disponibles por ese programa en particular, visite la página principal del producto y consulte la documentación API específica para esa aplicación. Para encontrar la lista completa de nuestros productos de software presione aquí... Biblioteca de enlaces dinámicos (DLL)La DLL es un archivo autónomo que proporciona la interfaz genérica necesaria para enlazar aplicaciones recientemente creadas o preexistentes juntas en el nivel de código. Al distribuir su programa, necesita asegurarse que haya incluido y correctamente dirigido la ruta a la DLL. A continuación, un ejemplo C++ (que puede ser fácilmente implementado en C) que carga la DLL y envía un comando, que devuelve un resultado a un buzón de mensaje:#define API_SERVER_KEY "NCHAPIKey" const unsigned int nArgs = 3; LPCTSTR szArgs[] = {_T("-testapi"), _T("More Info"), _T("etc...")}; typedef DWORD (WINAPI *pFn) (LPCTSTR szProgramKey, UINT nArgs, LPCTSTR const * szArgs, LPTSTR szResultString); void SendCommandDLL() { HMODULE hModDll = LoadLibrary(_T("nchapi.dll")); pFn pfSendCommand = (pFn)GetProcAddress(hModDll, "NCHAPISendCommand"); TCHAR szResultString[8096]; if ((pfSendCommand)(_T(API_SERVER_KEY), nArgs, szArgs, szResultString) == 0) { MessageBox(NULL, szResultString, _T("Result"), MB_OK); } FreeLibrary(hModDll); } Modelo de objetos componentes (COM) / ActiveXCOM permite la comunicación entre procesos de lenguaje neutro permitiendo que otros programas tengan fácil referencia y transmitan información y solicitudes a través de una interfaz bien definida, sin importar el entorno de la máquina empleada. ActiveX es una versión de la Vinculación e Incrustación de Objetos (OLE) que es una subsidiaria de COM y usa las mismas técnicas para la implementación. Al usar cualquier método, tendrá que incluir y registrar el archivos nchapi.dll con su distribución.En una máquina con Windows para registrar el archivo nchapi.dll debe escribir en la ventana de ejecución (Inicio -> Ejecutar) algo como:
regsvr32 "nchapi.dll" A continuación, un ejemplo VB y VBS que usa COM para enviar un comando, que devuelve un resultado en un cuadro emergente: Dim shell, client, result set shell = CreateObject("WScript.Shell") set client = CreateObject("NCHAPI.Client") Dim ServerKey ServerKey = "NCHAPIKey" Dim nArgs nArgs = 3 Dim szArgs szArgs = Array("-testapi", "More Info", "etc...") Dim szResultString if client.SendCommand(ServerKey, CInt(nArgs), szArgs, szResultString) = 0 then result = shell.Popup(szResultString, 0, "Result") end if Interfaz de línea de comando (CLI)La línea de comando siempre ha sido la manera más fácil para controlar las aplicaciones sin el conocimiento previo de lenguajes de programación específicos. Puede usar este método de comunicación simple a través de varios medios como el símbolo del sistema de Windows o el programador de tareas de Windows. La comunicación bidireccional simultánea es posible a medida que la API unificada es capaz de devolver valores e información obtenida. Todos los comandos son ejecutados de izquierda a derecha, lo que significa que cada comando será ejecutado tal como es leído por el programa.
La sintaxis general es: nchapi.exe NCHAPIKey -testapi "More Info" "etc..." Java Native Interface (JNI)JNI es un framework de programación que permite al código Java, una plataforma tradicionalmente independiente, para usar las aplicaciones nativas (de plataforma dependiente) escritas para un sistema operativo específico. Al implementar su programa, necesita asegurarse que haya incluido el archivo nchapi.dll . A continuación, verá ejemplos de Java que usa JNI para enviar un comando, que devuelve un resultado a un cuadro de diálogo de mensaje:El primer ejemplo usa simplemente la clase NCHAPIClient proporcionada como la interfaz a través de la cual la API unificada de NCH es llamada:
import nch.api.NCHAPIClient; public void sendCommandJNI() { String serverKey = "NCHAPIKey"; String[] szArgs = { "-testapi", "More Info", "etc..." }; NCHAPIClient client = new NCHAPIClient(); if (client.sendCommand(serverKey, szArgs) == client.NCHAPI_SUCCESS) { JOptionPane.showMessageDialog(null, client.getResultString(), "Result", JOptionPane.INFORMATION_MESSAGE); } }O también puede escribir su propia versión de la clase, pero en la mayoría de los casos esto simplemente reproducirá la clase que ya se ha proporcionado: Tenga en cuenta que debido a los requisitos de la manera como Java interactúa con código nativo, cualquier clase que escriba debe ser nombrada nch.api.NCHAPIClient:
package nch.api; private static native int NCHAPISendCommand(String szServerKey, int nArgs, String[] szArgs, String[] szResultString); public class NCHAPIClient { public NCHAPIClient() { System.loadLibrary("nchapi"); private String serverKey = "NCHAPIKey; private int nArgs = 3; private String[] szArgs = { "-testapi", "More Info", "etc..." }; private String[] szReturnString = null; if (NCHAPISendCommand(serverKey, nArgs, szArgs, szReturnString) == 0) { JOptionPane.showMessageDialog(null, szReturnString, "Result", JOptionPane.INFORMATION_MESSAGE); } } } Microsoft .NET FrameworkEsta es la última iniciativa de Microsoft y proporciona otro framework (marco de trabajo) de lenguaje independiente diseñado para reducir la complejidad de la comunicación y desarrollo. NET proporciona soluciones de manera nativa a muchos requisitos de programas comunes sin la necesidad de hacer frente a las arquitecturas específicas mediante el uso de la infraestructura de lenguaje común (Common Language Infrastructure - CLI) Un wrapper (envoltura) es utilizado para que las aplicaciones. NET puede acceder a la funcionalidad de la API unificada.A continuación, un ejemplo de C# usando NET que devuelve un resultado a un cuadro de mensaje: public partial class FormMainDialog : Form { NCHApi.Client apiCOMClient; public FormMainDialog() { InitializeComponent(); apiCOMClient = new NCHApi.Client(); } private void buttonSendCommand_Click(object sender, EventArgs e) { string ServerKey = "NCHAPIKey"; int nArgs = 3; string[] szArgs = {"-testapi", "More Info", "etc..."}; string szResultString = ""; if (NCHApi.NCHAPIResult.Success == apiCOMClient.SendCommand(ServerKey, nArgs, szArgs, ref szResultString)) { MessageBox.Show(szResultString, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }A continuación, un ejemplo de VB.NET usando NET que devuelve un resultado a un cuadro de mensaje: Public Class MainForm Private Sub buttonSendCommand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonSendCommand.Click Dim comClient As New NCHApi.Client() Dim ServerKey As String = "NCHAPIKey" Dim nArgs As Integer = 3 Dim szArgs As String() = New String() {"-testapi", "More Info", "etc..."} Dim szResultString As String = "" Dim res As NCHApi.NCHAPIResult res = comClient.SendCommand(ServerKey, nArgs, szArgs, szResultString) If (res = NCHApi.NCHAPIResult.Success) Then MsgBox(szResultString, MsgBoxStyle.OkOnly & MsgBoxStyle.Information, "Result") End If End Sub End Class Posibilidades ilimitadasEl uso de la API unificada de NCH Software permite un amplio rango de control, con literalmente miles de nuevos sistemas de configuración flexible posibles.Imagine que está fuera de casa y olvidó grabar su programa de radio favorito por la web o se olvidó de ejecutar VRS para grabar las llamadas telefónicas. Simplemente marque al sistema IVM y use el indicador para enviar comandos a través de la API unificada a los programas respectivos para que empiecen a grabar. ¿Qué sucede si desea configurar una extensión en Axon para un tiempo específico? Simplemente use el programador de Windows y la API unificada para enviar un comando a Axon informando para que configure la extensión apropiada. ¿Necesita marcar un número automáticamente pero siempre está fuera de casa? Otra vez, use el programador de Windows y la API unificada para instruir IVM o Express Talk para que realicen la llamada.
Otra informaciónSi tiene problemas para escribir una aplicación, visite www.nch.com.au/support/es. |
© NCH Software | Arriba | Privacidad | Términos legales | Página principal |