Controlando Visual Chart

En esta pequeña entrada vamos a ver cómo controlar Visual Chart, la aplicación. Son solo unas pocas líneas de código que nos van a permitir llevar a cabo algunas operaciones con Visual Chart.

Hemos de tener presente que para usar las Trading Tools vamos a necesitar que Visual Chart esté abierto.

En el registro de Windows podemos ver cuál es la carpeta donde está instalada la aplicación:

public RegistryKey ObtenerClaveVisualChart()
{
   RegistryKey clave = Registry.ClassesRoot.OpenSubKey(@"Software\AGM\Visual Chart 5\Config");
   if (clave != null)
   {
      return clave;
   }

   return Registry.CurrentUser.OpenSubKey(@"Software\AGM\Visual Chart 5\Config");
}

public string ObtenerDirectorioVisualChart()
{
   using (RegistryKey clave = ObtenerClaveVisualChart())
   {
      if (clave != null)
      {
         object valor = clave.GetValue("Directory");
         if (valor != null)
         {
            return valor.ToString();
         }
      }
   }

   return string.Empty;
}

ObtenerClaveVisualChart devuelve la clave del registro de Visual Chart. Puede estar, como en muchas aplicaciones, en HKEY_LOCAL_MACHINE si se instala para todos los usuarios o en HKEY_CURRENT_USER si se instala solo para el usuario actual.

ObtenerDirectorioVisualChart lee el valor de “Directory” de esa clave.

Añadiendo la carpeta “Bin” y el nombre del ejecutable de Visual Chart, ya tenemos la ruta completa. Si el archivo existe, podemos afirmar que Visual Chart está instalado.

El siguiente código permite ejecutar Visual Chart:

public void EjecutarVisualChart()
{
   string exe = ObtenerVisualChartExe();
   if (File.Exists(exe))
   {
      _proceso = Process.Start(exe);
   }
}

Como veis, el proceso lo guardo en una variable de la ventana pues para las siguientes operaciones la necesitamos.

private void CerrarVisualChart(bool forzarCierre = false)
{
   if (_proceso != null)
   {
      if (forzarCierre)
         _proceso.Kill();
      else
         _proceso.CloseMainWindow();
   }
}

El método anterior cierra la ventana como si pulsásemos el botón de cerrar de cualquier aplicación. Si el parámetro lo pasamos a true, la aplicación se cierra a “fuerza bruta”, sin guardar nada, sin cerrar diálogos que tenga abiertos, etc.

Por último, un método para mostrar la ventana de Visual Chart por encima de las demás:

private void TraerVisualChartAlFrente()
{
   if (_proceso != null)
   {
      SetForegroundWindow(_proceso.MainWindowHandle);
   }
}

Esto es una pequeña recopilación de operaciones que se pueden llevar a cabo. Revisad la clase Process y veréis cosas interesantes.

Otra función que puede ser útil es la de obtener el proceso de un Visual Chart que no hayamos creado nosotros desde nuestra aplicación, para poder controlarlo. Una forma de hacerlo es con Process.GetProcesses.

Si configuramos las opciones de Visual Chart para que se conecte automáticamente al tiempo real al iniciar, podemos ejecutar Visual Chart y tenerlo conectado desde nuestra aplicación.

Archivo Zip Descargar C# ControlVisualChart.zip.

Archivo Zip Descargar VB .NET ControlVisualChart_vb.zip.

Si te ha gustado la entrada, considera hacer una donación Donar. ¿Por qué donar?

Esta entrada fue publicada en Código fuente, Programación, Visual Chart. Guarda el enlace permanente.

Una respuesta a Controlando Visual Chart

  1. Pingback: STMT 0.1.1 | SpeakerTrading

Deja un comentario