別のアプリケーションのウインドウテキスト

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
popopo(^^)

別のアプリケーションのウインドウテキスト

#1 投稿記事 by popopo(^^) »

別のアプリケーションのウインドウ上のエディットボックスの内容が取得できません。
今作っているウインドウの情報を表示するプログラムで、
ほかのアプリケーションのウインドウの情報を表示しようとすると、
ウインドウ、ボタンなどはテキストを取得できるのですが、
エディットボックスのテキストは取得できません。
(ヘルプには、取得できないと書かれているので仕様だと思うのですが)
GetWindowTextを使っているのですが、
(ヘルプには、取得できないと書かれているので仕様だと思います)
他の方法はあるのでしょうか。
popopo(^^)

自己解決?

#2 投稿記事 by popopo(^^) »

自己解決したかもしれません。 まだ試してないのでなんとも言えませんが・・・
kobo

お助けになるかどうか

#3 投稿記事 by kobo »

こんにちは^^

初心者のkoboと申します。
以前、ここでメモ帳のテキストを拾得したいと質問をしたときに
教えて頂いたコードです。
的外れかもしれませんが、何かのお役に立てばと思います。

コード: 全て選択

dim hwin as HWND,hcwin as HWND
dim text as LPSTR
dim len as Long

hwin=FindWindow("Notepad","無題 - メモ帳")
hcwin=GetWindow(hwin,GW_CHILD)

SendMessage(hwin,WM_CHAR,&h46,0)	'&h41=65

len=SendMessage(hcwin,WM_GETTEXTLENGTH,0,0)+1

text=calloc(len)
SendMessage(hcwin,WM_GETTEXT,len,text)

MessageBox(0, "text =[ "+MakeStr(text)+"]", "読込", MB_OK)'出力

free(text)
end 
popopo(^^)

ありがとうございます

#4 投稿記事 by popopo(^^) »

ありがとうございます!僕が欲しかった通りです。
こんなくだらない質問に答えていただき、ありがとうございます。
返信する