私はテスト自動化のためのソフトウェアに取り組んでいます。それを稼働させるには、デスクトップと開いているすべてのウィンドウで「見て」いる必要があります。どのウィンドウが開いていて、どのウィンドウがどのようなもので構成されているかを知る必要があります。だから、Spy ++がやっていることに似た何かをしなければなりません(Visual StudioのSpy ++)。 Spy ++がどのように情報を得るのか誰にでも分かりますか? 開いているウィンドウに関する情報を取得するために呼び出せるWindowsメソッドはありますか?Spy ++のようなソフトウェアはどのように情報を取得しますか?
3
A
答えて
8
EnumWindowsを使用すると、すべての最上位ウィンドウを取得できます。 lpEnumFunc
の中でFindWindowExに電話して、各トップレベルウィンドウの子ウィンドウ/コントロールを取得し、必要な情報を提供する他の興味深い機能を呼び出すことができます。 GetClassName、GetClassInfo、GetClientRectなどご覧くださいhere詳細
4
windows hookと呼ばれています。 Win32 API SetWindowHookExをチェックアウトしてください。
さまざまなタイプのフックがDLLに存在し、そのDLL関数は、特定のスレッドのWindowsメッセージまたは同じデスクトップ内のすべてのスレッドの種類のWindowsに対して呼び出されます。
私のrelated answer on Windows hooks hereもご覧ください。
関連する問題
- 1. どのようにmem、3Gのようなプロセスの情報を取得する
- 2. Chromeはデバイスの向き情報をどのように取得しますか?
- 3. はどのようにテーブル格納情報を取得する
- 4. モバイルウェブサイトからデバイス情報をどのように取得しますか?
- 5. Windowsレジストリからソフトウェア情報を取得するにはどうすればよいですか?
- 6. Facebookのグラフ、共有ビデオの長さのような情報をどのように取得できますか?
- 7. Webサービスはどのようにクライアント情報を取得できますか?
- 8. どのように情報
- 9. マップボックスのような情報をどのように入手できますか?
- 10. [バージョン情報]ダイアログにはどのような情報が必要ですか?
- 11. ストライプ情報を取得するにはどうすればよいですか?
- 12. スタックトレース情報を取得するにはどうすればよいですか?
- 13. プログラムでjmapのような情報(ヒープ使用情報)を取得しますか?
- 14. トランザクションのchildCategory情報にどのようにアクセスしますか?
- 15. used_memoryのようなredisキューに関する情報を取得しようとしました
- 16. boot.propertiesにはどのような情報が必要ですか?
- 17. Photoshopでレイヤースタイル情報にどのようにアクセスしますか?
- 18. ソース情報のようにFacebookを取得する
- 19. JavaクラスはどのようにしてEntryクラスから情報を取得しますか?
- 20. Facebook Messenger iPhoneアプリはFacebookのiPhoneアプリからどのようにログイン情報を取得しますか?
- 21. コアはどのようにして現在のユーザー情報を取得しますか?
- 22. excelからJSへの情報を取得しようとしました
- 23. API.AIウェブフックのクライアントライブラリなしでユーザー情報を取得するにはどうすればよいですか?
- 24. Android APIを使用して通話中にどのような情報を取得できますか?
- 25. このようなクラッシュ情報から有益な情報を得ることはできますか?
- 26. どのようにWMICを使用して、コマンドラインの下taskschedulerのシステムログの情報を取得しますか?
- 27. FoodPandaのようなモバイルアプリはカード情報をどのように保存しますか?
- 28. TornadoはPython SimpleHTTPServerのようなリクエスト情報をどのように表示しますか?
- 29. LinuxやUbuntuで外部ツールなしでハードウェア情報(正確なコンピュータモデル、バージョン)を取得するにはどうすればよいですか?または、lshwはこの情報をどのように下に得ますか?
- 30. デザインはASP.NETトレース情報を非表示にします。どのように取得するには?
とにかく、それらのフックは "私は必要な他の大きなもの"です... –