別のアプリケーションで表示された情報を「表示」し、別のボタンを「クリック」してプロセスを自動化したい。これまでにこれを行ったことがなく、どこから始めればよいか、および/またはリンクに関するアドバイスをいただければ幸いです。
4 に答える
いくつSendMessage()
かのプログラムを使用すると、任意のプログラムと対話するユーザーをシミュレートできます。これは、すべての「自動クリック」またはマクロ プログラムの心臓部です。
WinSight (Borland\Delphi7\Bin\WS32.EXE) は、で使用するもの ID を取得するのに非常に役立つ場合がありますSendMessage()
。も活用する必要がありFindWindow()
ます。
Windows プラットフォームで別のアプリケーションを自動化する適切な方法は、UI オートメーションフレームワークを使用することです。.Net APIとCOM API の両方を同じレベルの機能でサポートします。
免責事項: 私は何年も Delphi に触れていないので、どちらが使いやすいかわかりません。
UI オートメーションは XP 以降でのみ機能することに注意してください。何らかの理由で Win2k または Win9x 上のアプリケーションを自動化する必要がある場合は、Windows Active Accessibility API を検討する必要があります。
注意すべきことの1つは、アプリケーションの境界を越えてメッセージを投稿すると、Vista(またはWindows 7)で常に機能するとは限らないということです。アプリケーションが別のセキュリティコンテキストで起動された場合、たとえば管理者として実行されている場合、別のセキュリティコンテキストの別のアプリケーションからの投稿メッセージはブロックされます。