1

一部の win アプリケーション (私のものではない) からデータを受信する必要があります。この時点で、アプリケーション ウィンドウは非アクティブである可能性があります。必要なデータはテーブルで表されるため、WM_GETTEXT、WM_COPY は texbox、textarea などからのみテキストを取得するため、使用できません。このテーブルで手動で選択を行うことができ、必要なのはこの選択からテキストをコピーすることだけです。データをクリップボードにコピーするための Ctrl+C のエミュレーション。そのキーシーケンスをこのように送信しようとしました

PostMessage(hwnd, WM_KEYDOWN, 0x11, 0x001D0001);
PostMessage(hwnd, WM_KEYDOWN, VkKeyScan('c'), 0x002E0001);
PostMessage(hwnd, WM_CHAR, VkKeyScan('c'), 0x002E0001);
PostMessage(hwnd, WM_KEYUP, VkKeyScan('c'), 0xC02E0001);
PostMessage(hwnd, WM_KEYUP, 0x11, 0xC01D0001);

しかし、成功もありません。これはメモ帳ではうまく機能しますが、私のテーブルでは機能しません。そこからテキストデータを取得する他の方法はありますか?

4

1 に答える 1

0

あなたは c# に言及しているので、他の win アプリも .Net であると仮定します。この場合、Hawkeye - The .Net Runtime Object Editorなどの手法を使用してデータを取得できます。

于 2012-01-19T23:48:45.963 に答える