他のプロセスが持つListView(Report型)のアイテムを並べ替える方法はあるのでしょうか?
教えて下さい。
無理っぽいけど
根性出せば可能かも・・・・
実行されている他のプログラムがロードされているメモリから
プログラムを抜いてきます。
次に、逆アセンブルして、リストボックスのデータが格納されている
メモリの開始位置をとってくるアルゴリズムをもったプログラムを
作成します(ちなみに、私には作れませんが・・・)
メモリを直接変更できれば成功です。
他のアプリケーションが自作のものであればもっと簡単ですけど
ListViewのハンドルがわかれば、ListView_SortItemsを使ってソートできます。
ここでソート関数に渡されるのはlParamなので、ListView_GetItemを使って判別する必要があります。
追記。
他プロセスをいじるので、ListView_GetItemで渡すLVITEMは、VirtualAllocExなどで取得しないとダメです。
試していませんが、もしかしたら呼び出す関数もそっちにコピーする必要があるかも。
ツイート | ![]() |