中村です。

At 28 Feb 2002 22:09:49 +0900 下平 昌和 wrote:
>  ListView_Get~系のマクロを使うと異常な処理とみなされて
>  OSが強制終了してしまいます。

呼び出し側のプロセスと呼び出され側のプロセスが違うので、呼び出し側のプロセ
スのバッファのポインタを渡すと、呼び出された側のプロセスのちょうどそこにあ
るメモリに対してアクセスしてしまうので呼び出された側のプロセスがクラッシュ
してしまうんですね。

>  ※ただし、ListView_SetItemPositionマクロは正常に動作しました。

これは、バッファを渡さないで直値で渡すからOKなのです。

>  どのようにすれば、Desktopのショートカットの情報を取得できるのでしょうか?

フックを使うなりなんなりして、DLLを対象プロセス(Shellのプロセス)の中に送
りこみます。そしてそのプロセスの中情報を取得してから、元々のプロセスになん
らかの方法(共有メモリとかパイプとか色々選択肢はあります)でわたします。

95系だけで動けばいいなら(NT/2000/XPでは動かなくてもいいなら)、メモリマッ
プトファイル上にバッファをとってそれを直接渡しても動作する筈です。

---
Satoshi Nakamura <s...@kiwi.ne.jp>