Permitir que un método abreviado de teclado active un acceso directo en el escritorio del usuario de una sesión remota de una aplicación publicada de Citrix

Permitir que un método abreviado de teclado active un acceso directo en el escritorio del usuario de una sesión remota de una aplicación publicada de Citrix

En este momento estoy usando mi sombrero de desarrollador, pero esto es más una pregunta de administrador de sistemas en la que estoy tratando de trabajar con un cliente nuestro para resolver un problema. (Algunos nombres y números cambiaron; la idea/problema sigue siendo el mismo)

El cliente tiene 10 servidores Citrix. Quizás haya 50 miembros del personal. Cada miembro del personal puede ejecutar entre 3 y 8 copias de una solicitud que llamaremos "B". Es una aplicación publicada. Las instancias de la aplicación B podrían ejecutarse todas en el mismo servidor/sesión o podrían estar distribuidas en varios servidores (y, por lo tanto, en varias sesiones).

Tengo una aplicación que llamaremos "D". Se relaciona con la aplicación B. Específicamente, puede activar algo en D que buscará en la pantalla de B el registro actual y mostrará los datos correspondientes en D. Entonces, el usuario está en B y quiere mostrar información adicional sobre el registro actual de B. en la pantalla de D.

D es una aplicación de instancia única: conoce todas las bases de datos B distintas y las fusiona. Por lo tanto, el usuario solo debería ejecutar una D a la vez.

La mayoría de nuestros clientes no tienen múltiples servidores o múltiples instancias de B. Entonces, nuestra aplicación D simplemente registra una tecla de acceso rápido global para permitir al usuario invocar la función en la copia única de D para extraer la copia única de la pantalla de B.

En este cliente, ese enfoque no funcionará: no queremos que el escritorio del usuario, que es un conglomerado de muchas ventanas B publicadas más quizás un navegador web, un cliente de correo electrónico, etc., también esté saturado con una ventana D para cada una distinta. Servidor Citrix.

Tuve la idea de escribir una pequeña aplicación auxiliar para D que, cuando se ejecutaba, raspaba la pantalla B activa, interactuaba con el usuario y luego salía. Este código auxiliar D, al que llamaré X, podría estar en todos los servidores Citrix y no consumiría recursos. Sin embargo, todavía necesito tener una forma de iniciarlo.

Intenté crear un acceso directo en el escritorio en el perfil del usuario en los servidores Citrix, pero parece que no funciona. Mi idea aquí era poner un acceso directo a X en el escritorio y configurar la tecla de acceso directo de ese acceso directo (¡término muy difícil para Google/Bing!) en algo como Ctrl+ Alt+ D. Desafortunadamente esto no parece funcionar. Podría ser que dicho comportamiento dependa de explorer.exe y, dado que se está publicando una aplicación, no existe ningún explorer.exe.

Incluso si funcionó, entonces necesito asegurarme de que solo esté activado en la sesión "actual" de Citrix, es decir, aquella con la instancia de B enfocada por el usuario. No quiero que todos los servidores Citrix a los que está conectado el usuario activa nuestra pequeña aplicación X stub cuando se presiona el método abreviado de teclado.

Ante esa situación (¡gracias por leer hasta aquí!) tengo dos preguntas.

  1. ¿Alguien sabe si yodebería¿Podré hacer que funcionen las teclas de acceso directo dentro de los accesos directos en una sesión de Citrix de una aplicación publicada? Si es así, ¿qué podría tener que hacer? Además, si ayuda usar RDP en lugar de Citrix, también me interesaría recibir opiniones al respecto.

  2. Si sabe cómo hacer que funcione el n.° 1, ¿cómo podría hacer que solo responda el servidor con la ventana enfocada?

  3. Si no se puede hacer que el n.º 1 funcione, podría hacer que nuestro cliente modifique la forma en que se inicia B para que se inicie mediante un archivo por lotes. Luego ejecuto una pequeña aplicación auxiliar en segundo plano al mismo tiempo que se inicia B. X podría registrar un mutex para evitar que se inicie varias veces dentro de la misma sesión. Pero, en esa situación, todavía me gustaría tener alguna opinión sobre cómo Citrix (o MS RDP) podría manejar los atajos de teclado registrados globalmente. Si el usuario presiona Ctrl++ Alt, D¿termina yendo a las distintas copias de X o solo a la X que pertenece a la sesión de la aplicación B con fous?

Intenté eliminar las partes innecesarias del fondo anterior. Indique si he sido ambiguo y desea una aclaración. Gracias por todas y cada una de las opiniones ofrecidas.

información relacionada