Inicio Foros Lenguajes de programación, desarrollo, código fuente .Net C# VB y PowerShell Error en SendKeys.Send de aplicación C# [RESUELTO]

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Autor
    Entradas
  • #47022
    Varios
    Moderador

    Hola, tengo una aplicación de consola desarrollada en Visual Studio .NET C# C Sharp y necesito enviar desde esta aplicación lo que contenga el portapapeles a otra aplicación abierta en el equipo, enviando la pulsación de teclas Control + V.

    He visto que se usa esto para obtener la aplicación externa por el nombre del proceso (por ejemplo «notepad»):

    y esto otro para enviar Control + V (pegar) a la aplicación externa:

    Pero el SendKeys.Send(«^{v}»); me da este error:

    System.InvalidOperationException: ‘No se puede ejecutar SendKeys dentro de esta aplicación porque ésta no controla los mensajes de Windows. Puede cambiar la aplicación para que controle mensajes o utilizar el método SendKeys.SendWait.’

    ¿A qué puede ser debido?

    #47023
    alonsojpd
    Superadministrador

    Puesto que se trata de una interacción que requiere de ciertos privilegios, dado que es un envío de teclas de una aplicación a otra (y esto podría considerarlo en antivirus como un Keylogger o similar), hay que añadir las siguientes líneas al fichero de configuración de tu aplicación C#:

    Quedando el fichero App.config de tu aplicación con el contenido:

    El archivo app.config debe estar en la misma carpeta que el ejecutable de la aplicación.

    #47063
    alonsojpd
    Superadministrador

    En este artículo tienes un ejemplo de código fuente en C# que envía una pulsación de teclas a una aplicación externa:

    Llamar a un número de teléfono con Cisco IP Communicator desde otra aplicación en C Sharp

    #47064
    Varios
    Moderador

    Perfecto, solucionado con tus indicaciones.
    Muy interesante el artículo.
    Muchas gracias.

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Debes estar registrado para responder a este debate.