Frage

Ich habe einen Code, der das Einfügen an eine Bewerbung von Drittanbietern durch Senden von Strg+V auslöst (siehe unten), aber dies scheint nicht mit Citrix zu funktionieren. Gibt es eine andere Methode, um Strg+V auszulösen als eine Schlüsselsimulation?

keybd_event(VK_CONTROL, Lo(MapVirtualKey(VK_CONTROL,0)), 0,0);
keybd_event(86, Lo(MapVirtualKey(86,0)), 0,0);
keybd_event(86, Lo(MapVirtualKey(86,0)), KEYEVENTF_KEYUP,0);
War es hilfreich?

Lösung

Ah, die schönen Probleme mit Citrix!

  1. Ich würde die empfangende Anwendungsseite überprüfen, dass Sie tatsächlich etwas in der Zwischenablage haben. Versuchen Sie dort manuell einzufügen. Wenn es leer ist, handelt es sich nicht um ein Problem mit Automatisierungs-/Tastaturhaken.
  2. Wenn der Inhalt der Zwischenablage tatsächlich verfügbar ist, würde ich verschiedene Möglichkeiten versuchen, mit der Empfangsanwendung zu kommunizieren: Senden von Windows -Nachrichten (WM_Paste, aber auch andere, wenn Sie nicht feststellen können, ob irgendjemand durchgehen kann), aber auch nach, ob Sie dies tun können Dde.

Andere Tipps

Vielleicht können Sie eine WM_Paste -Nachricht an die Anwendung senden?

Du kannst es versuchen Postkeyex32

Ich habe einen Artikel auf Portugiesisch geschrieben, aber Sie können den Code lesen, er ist einfach.

http://www.cesarromero.com.br/simulando-keypress-com-postkeyex32/

Sie können Strg + VM wie folgt senden:

PostKeyEx32(Ord('V'), [ssCtrl], False); 

Ich denke, die kritische Aussage hier ist - mit Citrix.

Meine Erfahrung mit Interkommunikation mit Citrix-Anwendungen ist, dass viele Dinge, die auf einem normalen Desktop gut funktionieren, bei einer Citrix-Umgebung fehlschlagen. Ich würde zuerst versuchen, eine WM_Paste -Nachricht zu senden, wie vorgeschlagen Gamecat, und wenn dies fehlschlägt, möchten Sie möglicherweise sicherstellen, dass Ihre Kunden Ihre Anwendung über einen Citrix -Desktop ausführen, indem Sie die Anwendungen nicht direkt von einer Abkürzung auf ihrem Desktop ausführen. Wenn eine Citrix -Anwendung von einer externen Verknüpfung gestartet wird, erhält sie eine andere Sitzung als bei einer internen Verknüpfung auf dem Citrix -Desktop.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top