Zulassen, dass eine Verknüpfung auf dem Desktop des Benutzers einer Remotesitzung einer veröffentlichten Citrix-App durch eine Tastenkombination ausgelöst wird

Zulassen, dass eine Verknüpfung auf dem Desktop des Benutzers einer Remotesitzung einer veröffentlichten Citrix-App durch eine Tastenkombination ausgelöst wird

Ich bin im Moment in der Rolle eines Entwicklers, aber das hier ist eher eine Frage eines Systemadministrators, bei der ich versuche, gemeinsam mit einem unserer Kunden ein Problem zu lösen. (Einige Namen und Nummern haben sich geändert – Idee/Problem sind immer noch dieselben)

Der Kunde hat 10 Citrix-Server. Es gibt vielleicht 50 Mitarbeiter. Jeder Mitarbeiter kann zwischen 3 und 8 Kopien einer Anwendung ausführen, die wir „B“ nennen. Es ist eine veröffentlichte App. Die Instanzen der Anwendung B könnten alle auf demselben Server/in derselben Sitzung ausgeführt werden oder über mehrere Server (und damit mehrere Sitzungen) verteilt sein.

Ich habe eine Anwendung, die wir „D“ nennen. Sie ist mit Anwendung B verknüpft. Insbesondere können Sie in D etwas auslösen, das den Bildschirm von B nach dem aktuellen Datensatz durchsucht und die entsprechenden Daten in D anzeigt. Der Benutzer befindet sich also in B und möchte die zusätzlichen Informationen zum aktuellen Datensatz von B auf dem Bildschirm von D anzeigen.

D ist eine Einzelinstanz-App – sie kennt alle unterschiedlichen B-Datenbanken und führt sie zusammen. Der Benutzer sollte daher immer nur eine einzige D-Instanz gleichzeitig ausführen.

Die meisten unserer Clients verfügen nicht über mehrere Server oder mehrere Instanzen von B. Daher registriert unsere App D lediglich einen globalen Hotkey, mit dem der Benutzer die Funktion in der einzelnen Kopie von D aufrufen kann, um die einzelne Kopie des Bildschirms von B zu scrapen.

Bei diesem Client funktioniert dieser Ansatz nicht. Wir möchten nicht, dass der Desktop des Benutzers, der aus einer Ansammlung vieler veröffentlichter B-Fenster plus vielleicht einem Webbrowser, E-Mail-Client usw. besteht, zusätzlich mit einem D-Fenster für jeden einzelnen Citrix-Server überfüllt ist.

Ich hatte die Idee, eine kleine Stub-Anwendung für D zu schreiben, die bei Ausführung den aktiven B-Bildschirm durchsucht, mit dem Benutzer interagiert und dann beendet wird. Dieser D-Stub, den ich X nennen werde, könnte auf jedem Citrix-Server laufen und würde keine Ressourcen verbrauchen. Ich muss ihn jedoch trotzdem starten können.

Ich habe versucht, eine Desktopverknüpfung im Benutzerprofil auf den Citrix-Servern zu erstellen, aber das scheint nicht zu funktionieren. Meine Idee war, eine Verknüpfung zu X auf dem Desktop zu erstellen und die Tastenkombination dieser Verknüpfung (ein sehr schwieriger Begriff für Google/Bing!) auf etwas wie Ctrl+ Alt+ zu setzen D. Leider scheint das nicht zu funktionieren. Es könnte sein, dass dieses Verhalten auf explorer.exe beruht und es, da eine App veröffentlicht wird, keine explorer.exe gibt.

Selbst wenn es funktionieren würde, muss ich sicherstellen, dass es nur in der „aktuellen“ Citrix-Sitzung aktiviert wird, also in der Sitzung mit der fokussierten Instanz von B des Benutzers. Ich möchte nicht, dass jeder Citrix-Server, mit dem der Benutzer verbunden ist, unsere kleine X-Stub-App auslöst, wenn die Tastenkombination gedrückt wird.

Angesichts dieser Situation (danke, dass Sie bis hierhin gelesen haben!) habe ich zwei Fragen

  1. Weiß jemand, ob ichsollenKann ich Tastenkombinationen innerhalb von Tastenkombinationen in einer Citrix-Sitzung einer veröffentlichten App zum Laufen bringen? Wenn ja, was muss ich dann tun? Und wenn es hilft, RDP statt Citrix zu verwenden, würden mich auch Meinungen dazu interessieren.

  2. Wenn Sie wissen, wie Nr. 1 funktioniert, wie kann ich dann erreichen, dass nur der Server mit dem fokussierten Fenster antwortet?

  3. Wenn Nr. 1 nicht funktioniert, könnte ich unseren Client die Art und Weise ändern lassen, wie B gestartet wird, sodass es über eine Batchdatei gestartet wird. Dann lasse ich eine kleine Stub-App im Hintergrund laufen, während B gestartet wird. X könnte ein Mutex registrieren, um zu vermeiden, dass es innerhalb derselben Sitzung mehrmals gestartet wird. Aber in dieser Situation hätte ich trotzdem gerne eine Meinung dazu, wie Citrix (oder MS RDP) mit global registrierten Tastaturkürzeln umgehen könnte. Wenn der Benutzer Ctrl+ Alt+ drückt D, gelangt das dann zu den verschiedenen Kopien von X oder nur zu dem X, das mit fous zur Sitzung der B-App gehört?

Ich habe versucht, die unnötigen Teile des obigen Hintergrunds wegzulassen. Bitte weisen Sie mich darauf hin, wenn ich mehrdeutig war und Sie eine Klarstellung wünschen. Vielen Dank für alle geäußerten Meinungen.

verwandte Informationen