他のアプリケーションから Windows アプリケーションのボタンをクリックしようとしています。基本的に、アプリAのコードからアプリBのボタンをクリックしたいです。
winapi findWindow を使用してハンドラーを取得できます。問題は、アプリ B のボタンの名前がわからないことです。これにより、アプリケーションのすべての名前または ID を一覧表示できますか?
私はそれを実現するためにc#を使用しています。
他のアプリケーションから Windows アプリケーションのボタンをクリックしようとしています。基本的に、アプリAのコードからアプリBのボタンをクリックしたいです。
winapi findWindow を使用してハンドラーを取得できます。問題は、アプリ B のボタンの名前がわからないことです。これにより、アプリケーションのすべての名前または ID を一覧表示できますか?
私はそれを実現するためにc#を使用しています。
提案を見ているので(実際にはかなり一般的な質問です。他のアプリ/ウィンドウが何であるかに応じて機能する場合と機能しない場合があります。たとえば、ブラウザーまたはサードパーティアプリなどです。自動化をサポートしていますか)
この密接に関連する回答を見てください(重複している可能性がありますが、まだ「探している」ので注意してください)。
また、これは、他のアプリの「入力」に「アクセス」する方法に関するもの
です Pinvoke SetFocus を特定のコントロールに
私はこれをテストしていません。しかし、それは魅力的なライブラリのように見えます。もしかしたら使える機能があるかもしれません。白と 呼ば れ る。これは単なるサンプルです:
Application application = Application.Launch("foo.exe");
Window window = application.GetWindow("bar", InitializeOption.NoCache);
Button button = window.Get<Button>("save");
button.Click();
Spy++ などのツール (Express エディションを除くすべての Visual Studio に含まれています) を使用して、そのボタンの名前とクラスを検索し、これらの情報を FindWindow() のパラメーターとして使用できます。