実験的に開発した小さなプログラムやWebサービスを公開。また、気になった最新IT技術情報をブログ形式でメモ。
Vista上のVS2005 C# Windowsアプリのドラッグ&ドロップ機能での注意点
んー、わかってみると、なるほどねぇ、、、Vistaねぇ、、、
まあ、うーーん、わからんでもない。
といった内容なのですが、Vista上でのVS2005でC# Windowsアプリを開発していて、どーしてもドラッグ&ドロップ機能がうまくいかなかったのですが、、、解決しました。
問題点はAllowDropをTrueにした状態なのに、なぜかDragEnterとDragDropイベントが発生してくれないため、コントロールにエクスプローラー等からファイルをドロップする機能が動かなかったのです。
日本語ではこれに関する情報がなかなか見つからず、やっと海外サイトで情報をゲット!
あー、なるほどね。
原因はVistaの新権限管理システムでした。
なにかというと、VistaでVS2005を使うには管理者権限が必要っぽいので、そうしてたのですが、そうすると開発中のアプリのデバッグ時も管理者権限で実行されるっぽいです。(まあ、そうだね)
んで、エクスプローラー等からドラッグしてデバッグアプリにドロップしようとすると、低い権限(エクスプローラーはユーザー権限)から高い権限(管理者権限)へのドロップになるので、駄目らしいのですよ。(しるか、、、んなこと、、、)
んじゃ、どうするかというと、、、、コンパイルだけして、デバッグディレクトリの実行ファイルを起動。そうするとなんの問題もなかったようにDropEnter等のイベントが発生。
(ユーザー権限のアプリからユーザー権限のアプリへのドロップ&ドロップ)
はい、出来上がり。
くはぁー、わっかんねぇよ、、、そしてしょうがないけど時間を無駄に失ったよ。
今はVistaで開発してる人は少ないからあまり情報がないのかもしれないと思ったので、メモがわりに載せておきます。
これって多分ドラッグ&ドロップ以外でも色々あるんだろうなぁ、、、、
原因不明で困った時は「ユーザー権限」の確認を忘れずに。

RSS Feed
助かりました。どうもありがとうございます。
この情報探してました。
ドラッグアンドドロップできそうです。
権限か・・・