仮想環境での文字入力について その2

こんにちは
UiPath Studio 2024.10 enterprise editionを使い、クラシックデザインアクティビティで、Remote Run Timeはインストールしていない環境で、仮想Win10でIEを操作するプロジェクトを開発しています。
セレクターは、仮想ウィンドウ全体を指定しています。

Copilotに
Remote run timeを仮想環境にインストールしていない場合、仮想Win10の画面に文字入力する方法を教えて

と質問したところ、

方法の選択肢のひとつとして、

  1. Send Hotkey / Type Into の「SimulateType」や「SendWindowMessages」を使う

SimulateType → 内部的にキー入力をシミュレート(高速・安定だがセレクター必須)

SendWindowMessages → OSレベルのメッセージ送信(セレクターがなくても動く場合あり)

という回答を得ました。

私の環境ではTypeIntoアクティビティを使って「SimulateType」や「SendWindowMessages」では入力できるが、「ハードウェアイベント」では文字入力できないという認識で合っていますか?

Copilotの回答は正しくないと思います。
RemoteRuntimeが無い、RDP接続等での入力についてかと思いますが、リモート側のアプリケーションに対して、SimulateやSendWindowMessages等での入力はできず、RDPクライアントを介した入力(キーボード入力)のみになるかと思います。

こちらの動作試験では、

画像をクリックでテキスト入力エリアにフォーカスを当てる

TypeIntoアクティビティでString変数入力

で仮想環境に文字入力できています。

TypeIntoアクティビティでString変数入力できたので、おそらくTypeIntoアクティビティでCtrl+Vしても文字入力できるのではないでしょうか?

そこでどのような入力モードの場合、TypeIntoアクティビティで仮想環境で文字入力できるのか、
確認したくなった次第です。

UiPathからRDPクライアント(等)に対してはHardWareEventでの入力が行われ、リモート側ではRDPサーバー(等)がキーボード入力処理を行います。
原理的にUiPathの他の入力メソッドは、リモートラインタイムがない環境では、リモート環境に対して、当該メソッドでの操作ができません。

1点確認させてください。入力メソッドとは、「シミュレート」「ウインドウメッセージを送信」などのことでしょうか?

そうです。

1 Like

こんばんは
下記のスレッドを読むと、RemoteRunTimeのないRDP環境でもTypeIntoアクティビティを使った入力ができそうに読めますが、下記の記述は誤りでしょうか?

当方が記載しました

UiPathからRDPクライアント(等)に対してはHardWareEventでの入力が行われ、

はTypeIntoで行いますので、TypeIntoアクティビティを使わないという意味ではありません。
Simulate等の入力メソッドは要素に対して直接書き込みに行きますので、リモートラインタイムの無いRDP接続等の環境では機能しないのです。(例えばテキストボックス等の要素を指定できないと思いますので。)

まとめるとこういうことでしょうか?

リモートラインタイムの無いRDP接続ではTypeIntoアクティビティが使えるが、入力メソッドはハードウェアイベントしか使えない。

基本的にはそれで問題ないかと思います。ここでのHardwareEventはUiPath-RDPクライアント間の話であり、リモート側はリモートデスクトップのキーボードエミュレーションでの入力になるかと思います。

1 Like

こんばんは

私の知識不足で、ここでの~は何を言っているかよく分かりませんが、
リモートラインタイムの無いRDP接続ではTypeIntoアクティビティが使えるが、入力メソッドはハードウェアイベントしか使えないことは理解できました。