質問: UWSCというマクロソフトでPosACCというコマンドがあり、画面上の動いている他のアプリのウインドIDと指定座標を渡すと、その位置にある他のアプリ上の文字列を取得してくれます。 これと同じような機能をPythonで実現したいです。 A=PosText(ID,x,y)とかやると、画面上の(x,y)座標の位置にある文字を含む文字列(ウインドID指定でそのアプリ上の文字列)をまとめてAに代入するような関数を作りたいです。 どういう命令でテキストを引っ張ってくるのか等、アドバイスをいただければ......。 追記 windowsのACC(アクセシビリティ用インターフェース)を利用しているみたいです。 ACCは障害者向けの支援技術でスクリーン・リーダー等に使われたりするそうです。 ただ、どうやって、それを利用するのかは相変わらず分かりません。
回答: 実現までのおおざっぱな流れのみ回答します。 結局は`WindowsAPI`の呼び出しに帰着するので、まずは公式文書Windows Automation APIにひととおり目をとおし、概要~`C++`にて任意のテキストを取得する手法までを理解する必要があります。 上記のページをちょっと辿っていくと以下も含めいろいろなサンプルが見つかります。 UI Automation document content client sample > > This sample demonstrates how an application can use Microsoft UI Automation control patterns to access the content of a document that is being displayed in another application's window. > > > そのうえで`Python`から`UI Automation API`を呼出す方法を調査します。 PythonでUI Automationなどが参考になりそうです。