0

他のアプリケーションから Windows アプリケーションのボタンをクリックしようとしています。基本的に、アプリAのコードからアプリBのボタンをクリックしたいです。

winapi findWindow を使用してハンドラーを取得できます。問題は、アプリ B のボタンの名前がわからないことです。これにより、アプリケーションのすべての名前または ID を一覧表示できますか?

私はそれを実現するためにc#を使用しています。

4

3 に答える 3

2

提案を見ているので(実際にはかなり一般的な質問です。他のアプリ/ウィンドウが何であるかに応じて機能する場合と機能しない場合があります。たとえば、ブラウザーまたはサードパーティアプリなどです。自動化をサポートしていますか)

この密接に関連する回答を見てください(重複している可能性がありますが、まだ「探している」ので注意してください)。

他のプロセスからの要素へのアクセス

また、これは、他のアプリの「入力」に「アクセス」する方法に関するもの
です Pinvoke SetFocus を特定のコントロールに

于 2012-04-14T22:13:33.023 に答える
2

私はこれをテストしていません。しかし、それは魅力的なライブラリのように見えます。もしかしたら使える機能があるかもしれません。と 呼ば れ る。これは単なるサンプルです:

Application application = Application.Launch("foo.exe");
Window window = application.GetWindow("bar", InitializeOption.NoCache);

Button button = window.Get<Button>("save");
button.Click();
于 2012-04-14T22:16:29.083 に答える
1

Spy++ などのツール (Express エディションを除くすべての Visual Studio に含まれています) を使用して、そのボタンの名前とクラスを検索し、これらの情報を FindWindow() のパラメーターとして使用できます。

于 2012-04-14T22:35:47.530 に答える