質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Q&A

解決済

他プログラムのUIやダイアログにあるテキストを読み取りたい。

Gapper
Gapper

総合スコア16

.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

1回答

1グッド

0クリップ

465閲覧

投稿2022/07/12 09:40

前提

Windows10 64bit
VisualStudio2022 Community
C#
.net framework 4.7.2
フォームアプリケーション

実現したいこと

他プログラムのUIやダイアログにあるテキストを読み取りたい。

試したこと

https://kobazlab.tech/2015/10/01/c%E3%81%A7%E4%BB%96%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%80%A4%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%80%82/

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1278426337

上記サイトを参考にSpy++やWindows Detectiveを利用して各ダイアログのハンドル等を取得しましたが
実際にテキストを取得可能なのは該当プログラムのテキストボックスのような部分やウィンドウタイトルのような部分のみしかテキストを読み取れません。

例えばWindows10に付属の電卓で文字を取得しようとすると、計算結果や数字を入力している部分のハンドルは取得でき、そこの数値を取り出すことは出来るのですが、左上の"標準"という文字などを取得する事はできませんでした。

Textify( https://forest.watch.impress.co.jp/library/software/textify/ )というソフトがあるのですが、このプログラムはどんなインターフェースでも、どのような部分の文字でも取得し、コピーする事が可能なのですが、このような機能を自分のプログラムに実装したいと思っております。

そういったインターフェースに書かれている文字を取得することは可能でしょうか?
可能でしたら、アドバイス等いただければ助かります。
よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

VisualStudio2022 Community
C#
.net framework 4.7.2

arakawariver👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

Zuishin

2022/07/12 09:45

自分用なら、Power Automate Desktop を使うのが手軽です。

回答1

1

自己解決

Zuishin様

UI Automationを知りませんでしたので調べてみるとSpy++のように各UIの情報を取得出来るサポートツール(UI Automation Spy)があり、それを使うと電卓の"標準"という文字列も認識されましたので、UI Automationについて勉強してみようと思います。

ありがとうございました。

投稿2022/07/12 09:57

Gapper

総合スコア16

arakawariver👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。