はじめまして。 梅澤と申します。 Qtは初心者です。 (まだ「Qt QuickではじめるクロスプラットフォームUIプログラミング」を購入して、少しだけ斜め読みした程度) Windows上でCやVBやDelphi等でのプログラム経験は、ある程度あります。
今まであるメーカー製のソフト(多分、Visual C++製)のダイアログを、UWSCやAutoItといったソフトを使って制御してきました。 具体的には、 a) ボタンをクリックする b) テキストボックスに文字を入れる c) ラベル(スタティックテキスト)の文字が書き換わったら、その文字列を取得する といった事を行ってきました。
UWSC http://www.uwsc.info/ AutoIt https://www.autoitscript.com/site/autoit/
(UWSCやAutoItは、外部からウィンドウハンドルにメッセージを送る等で、人間の代わりにマウスやキーボードの操作を、自動的に行ってくれるソフトです)
ところが、そのソフトが、新しいバージョンからQtで作成されるようになりました。
Windowsの標準コントロールが使われなくなり、ダイアログのクラスは、ダイアログ全体で Qt5QWindowIcon と認識されてしまいます。
そのせいで、a)~c)が出来なくなってしまいました。
Qtでは、ボタンやテキストボックス等は全てQt側で描画しているらしいので、その影響だと思 いますが。
以下のような条件下で、難しいのですが、どうにか外部から従来行っていたa)~c)のことを行 う事は出来ないでしょうか。 例えば、私がQtを勉強してQtでプログラムを作成できるレベルになれば、2つのQtのプログ ラム間で何らかのやり取り等、出来るものでしょうか?
それとも制御される側に、それなりの受け皿がない以上、難しいでしょうか?
<条件> ・制御される側のプログラムを改造することは出来ません。 ・制御される側のQtのソースを入手することも出来ません。
SmartBearという会社のTEST COMPLETEというテスト用の製品では、Qt用のモジュール を使ってテストの自動化を行えるようなので、何か切り口があるのでしょうか。
Qt Testing Modules https://support.smartbear.com/downloads/testcomplete/qt-modules/
Qtの調査は始めたばかりで、どこから手を付けて良いのか迷っています。 「まずは、この資料を読んで下さい」等でも良いので、アドバイス頂けないでしょうか。
<技術的でない部分の補足> 制御される側のソフトを作成している会社は、海外の会社なのですが、日本法人があります。 その日本法人の担当者と協力して、そのソフトの自動化のために、上で述べたような事を 行っておりました。 (日本法人から海外の本社に自動化のお願いしても、力関係からか、なかなか手を入れて もらえなかったらしいです) しかし、そのうち、日本法人の担当者が止めてしまい、さらに今まVC++製だった部分が Qt製に変わり、前述のような状態に至りました。
以上、何かヒントでも良いのでお教え願えないでしょうか。