■15728 / ) |
Re[1]: 他アプリに対して、ファイルパスをドロップ |
□投稿者/ シャノン (331回)-(2008/03/19(Wed) 14:54:07)
|
■No15727 (熊谷隆史 さん) に返信 > DLL側のIDropTarget::Dropの呼び出しで > IEが落ちるので > この部分に問題ありと見ているのですが、 > 何が原因なのかが分かりません。
DROPEFFECT_LINK は単なる整数値ですから、DWORD * にキャストしちゃダメでしょう。 IE はアドレス 0x00000004 に対して書き込もうとしますよ。
で、前スレ http://bbs.wankuma.com/index.cgi?mode=al2&namber=15616 は結局、何も解決されないまま閉じられてしまったわけですが、もう一度言いますよ/聞きますよ。
GetProp で OleDropTargetInterface を取得するのはやめたほうがいいでしょう。 仮にそれでうまいこと IDropTarget が取得できたとしても、別のバージョンの Windows でも可能である保証はありません。
あと、IDropTarget::Drop を直接呼び出してうまく動く保証もゼロです。
そもそも、何がしたいんですか? 「IEにHTMLファイルを開かせたい」なら、他に方法があるでしょう。 「特定のアプリにファイルを開かせたい」でも、そのアプリが特定できれば、別の方法があるかもしれません。 「IDropTargetを実装したアプリ一般にファイルを開かせたい」は無理です。IDropTargetを実装するアプリがファイルを受け入れるとは限りません。 「とにかくドロップしたい。結果は問わない」なら別かもしれませんが、そんなことに意味があるとは思えません。
|
|