MSInfo.exeのListView(?)上にあるシステム情報を文字列として取り込むには?

解決


むらかみ  2003-06-18 01:49:11  No: 78321

自アプリケーションに対して、他のアプリケーション(例えばMSInfo.exe)のListView(?)上にあるシステム情報を自アプリケーションからの操作で文字列として取り込むには、どうすればよいのでしょうか?


むらかみ  2003-06-18 02:35:30  No: 78322

大事なことを忘れてました。私が使っているPCは複数台あって、Windows98, Windows2000, Windows XPの3種類のシステムがあります。


魔界の仮面弁士  2003-06-18 03:11:56  No: 78323

ListItem.Text の部分だけで良ければ、oleacc.dllの
「IAccessibleインターフェイス」で拾う事ができます。

   strText = objIAccessible.accName(lngLineNumber)

しかし、ListItem.SubItems(n) の値も拾いたい場合は、もう少し複雑です。
この場合は、LVM_GETITEM メッセージを使って取得する事になるのですが、
別EXE間でデータ交換を行う必要があるため、VirtualAllocEx APIで
共有メモリを確保して、そこに対してRead(Write)ProcessMemory APIで
読み書きを行う必要が生じます。

# なお、Win98ではVirtualAllocExが利用できませんので、かわりに
# CreateFileMapping, MapViewOfFileを使うようにしてみてください。


むらかみ  2003-06-18 06:49:51  No: 78324

魔界の仮面弁士様、早速のご教授、ほんとに有り難う御座います。このページでの2回目の質問にこんなに早く答えが返ってくるとは予想外でした。
さっそく試してみます。


むらかみ  2003-06-21 03:15:51  No: 78325

魔界の仮面弁士様、有り難う御座いました。私はVBをいじりはじめて1年たらずの若輩です。何かと話の通じにくい点も多々あると思いますが、今後とも宜しくお願い申し上げます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加