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

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

新規登録して質問してみよう
ただいま回答率
85.48%
.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

解決済

1回答

929閲覧

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

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グッド

0クリップ

投稿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👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2022/07/12 09:45

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

回答1

0

自己解決

Zuishin様

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

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

投稿2022/07/12 09:57

Gapper

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問