基本的なサード パーティの WinForms アプリケーションを自動化するための小さなツールを作成するよう依頼されました。
これまでのところ、私は多くのハードルを克服することができましたが、これはそれらすべての中で最もイライラするものの 1 つです (そして、LVM_GETITEMTEXT が 64 ビット ポインターを含む LVITEM 構造体を返していることを確認するためだけに 8 時間を調査に費やしたことは、非常にイライラさせられました) -サードパーティアプリケーションの StatusStrip で ToolStrupStatusLabel への参照を取得する方法がまったく見つからないようです。
アプリケーションが割り当てられたタスクを終了したことを示す唯一の兆候は、StatusStrip が更新されて終了したことを示すときです。あるジョブがいつ終了して別のジョブに進むかがわからない場合、その操作を確実に自動化することはできません。
アプリケーションに SendMessage() できるメッセージはありますか? 呼び出すことができる関数はありますか? このラベルのテキストを見つけて、アプリケーションのステータスを把握するのに役立つものはありますか?
自動化ツールは、さまざまな Windows 機能の pInvoke を使用して C#/Winforms でプログラムされています。また、LVITEM 構造体からデータを取得するのを支援するために C++ で独自の DLL を作成したので、C++ の回避策も可能です。