Permitir que um atalho na área de trabalho do usuário de uma sessão de aplicativo publicada do Citrix remoto seja acionado por um atalho de teclado

1

Estou usando o meu chapéu de desenvolvedor no momento, mas isso é mais uma questão de administração de sistemas em que estou tentando trabalhar com um cliente nosso para resolver um problema. (Alguns nomes e números mudaram - ideia / problema continuam os mesmos)

O cliente tem 10 servidores Citrix. Há talvez 50 membros da equipe. Cada membro da equipe pode estar executando entre 3 e 8 cópias de um aplicativo que chamaremos de "B". É um aplicativo publicado. As instâncias do aplicativo B podem estar em execução no mesmo servidor / sessão ou podem estar espalhadas por vários servidores (e, portanto, várias sessões).

Eu tenho um aplicativo que chamamos de "D". Ele se conecta ao aplicativo B. Especificamente, você pode acionar algo em D que irá raspar a tela de B para o registro atual e exibir os dados correspondentes em D. Assim, o usuário está em B e quer trazer informações adicionais sobre o registro atual de B na tela de D.

D é um aplicativo de instância única - ele está ciente de todos os bancos de dados B distintos e os une. Assim, o usuário deve estar executando apenas um único D por vez.

A maioria dos nossos clientes não possui múltiplos servidores ou múltiplas instâncias de B. Assim, nosso aplicativo D apenas registra uma tecla de atalho global para permitir que o usuário invoque a função na única cópia de D para copiar a única cópia da tela de B.

Neste cliente, essa abordagem não funcionará - não queremos que a área de trabalho do usuário, que é um conglomerado de muitas janelas B publicadas, além de um navegador da Web, cliente de email, etc, também fique cheia de janelas D para cada servidor Citrix distinto.

Eu tive uma idéia para escrever um pequeno aplicativo stub para D que, quando executado, raspava a tela B ativa, interagia com o usuário e depois saía. Esse stub do D, que eu chamarei de X, poderia estar em todos os servidores Citrix e não seria um dreno de recursos. No entanto, ainda preciso de uma maneira de iniciá-lo.

Eu tentei criar um atalho na área de trabalho no perfil do usuário nos servidores Citrix, mas isso não parece funcionar. Minha idéia aqui era colocar um atalho para o X na área de trabalho e definir a tecla de atalho do atalho (termo muito difícil para o Google / Bing!) Para algo como Ctrl + Alt + D . Infelizmente isso não parece funcionar. Pode ser que tal comportamento dependa do explorer.exe e, como há um aplicativo sendo publicado, não há explorer.exe.

Mesmo que tenha funcionado, eu preciso ter certeza de que ele está ativado apenas na sessão "atual" do Citrix, que é a que tem a instância de B. do usuário. Eu não quero cada servidor Citrix para o qual o usuário está conectado para acionar nosso pequeno aplicativo X stub quando o atalho de teclado é pressionado.

Dada essa situação (obrigado por ler isso até agora!) eu tenho duas perguntas

  1. Alguém sabe se eu devo ser capaz de criar teclas de atalho dentro de atalhos em um aplicativo publicado da Citrix? Se sim, o que posso fazer? Além disso, se ajudar a usar o RDP em vez da Citrix, também ficaria interessado em opiniões.

  2. Se você sabe como fazer o # 1 funcionar, como posso ter apenas o servidor com a janela focada respondendo?

  3. Se o nº 1 não puder funcionar, poderei fazer com que o nosso cliente modifique a forma como o B é lançado para ser lançado por meio de um arquivo em lote. Eu então tenho um pequeno aplicativo stub executado em segundo plano ao mesmo tempo em que B é lançado. X poderia registrar um mutex para evitar ser lançado várias vezes na mesma sessão. Mas, nessa situação, eu ainda gostaria de alguma opinião sobre como o Citrix (ou o MS RDP) pode lidar com atalhos de teclado registrados globalmente. Se o usuário teclar Ctrl + Alt + D , ele irá para as várias cópias de X ou apenas para o X que pertence à sessão? do aplicativo B com fous?

Eu tentei cortar os bits desnecessários do plano de fundo acima. Por favor, indique se eu tenho sido ambíguo e gostaria de receber esclarecimentos. Obrigado por qualquer & todas as opiniões oferecidas.

    
por Ian Yates 28.02.2013 / 07:45

0 respostas