C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 32 を表示中)
■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を実装するアプリがファイルを受け入れるとは限りません。
「とにかくドロップしたい。結果は問わない」なら別かもしれませんが、そんなことに意味があるとは思えません。
返信 編集キー/


管理者用

- Child Tree -