Vista上であるアプリを作っていた時、ファイルをDrag&Dropして、ファイル名をアプリ上に登録したくなった。
AllowDropをTrueにしたのに、なぜかDragEnterとDragDropイベントが発生してくれなかった。
しばらく悩んで調べてみたら、下記を発見。
Vista上のVS2005 C# Windowsアプリのドラッグ&ドロップ機能での注意点 | LaboRat [ラボラット]
原因はVistaの新権限管理システムでした。
なにかというと、VistaでVS2005を使うには管理者権限が必要っぽいので、そうしてたのですが、そうすると開発中のアプリのデバッグ時も管理者権限で実行されるっぽいです。(まあ、そうだね)
んで、エクスプローラー等からドラッグしてデバッグアプリにドロップしようとすると、低い権限(エクスプローラーはユーザー権限)から高い権限(管理者権限)へのドロップになるので、駄目らしいのですよ。(しるか、、、んなこと、、、)
んじゃ、どうするかというと、、、、コンパイルだけして、デバッグディレクトリの実行ファイルを起動。そうするとなんの問題もなかったようにDropEnter等のイベントが発生。
(ユーザー権限のアプリからユーザー権限のアプリへのドロップ&ドロップ)
そんなわけで、行いたい動作が出来ている事は、確認できたが、
デバッグモードで掴めないから、非常に開発が行いにくいです。
Vistaって開発環境を考えてないのかなぁ。MSには対策してほしいです。
コメントする