2011-11-15 8 views
-1

私たちは次の問題を抱えています:「許可されていないゾーン」通知のドラッグアンドドロップ

私たちはアイテムを含むアプリケーションを持っています。

これらの項目は、デスクトップにdragble &をドラッグする必要があります。

ドラッグを入力すると、アイテム(アプリ内)が非表示になります。

どこにでもドロップすると、ショートカットが作成され、アイテムが再びアプリに表示されるようになります。

問題点: ユーザーがドロップ不可能な領域にドロップすると、OSは(私たちが知る限り)通知を出さないため、隠しアイテムを表示させることはできません再び。

ここに誰かが私たちを助けてくれることができますか、またはいくつかの良い提案や回避策があります。これは解決するのが非常に難しい問題です。

+0

どの言語cまたはc#またはwpfまたはwinforms .... –

+0

C#.NETを使用してWP –

+0

DoDragDrop()の戻り値は何ですか? – Luke

答えて

0

タイマーを50/100msで作成し、マウスボタンの状態を確認します。それがリリースされ、イベントがまだ起きていない場合、ユーザーは無効な場所に移動しました。

+0

のMhを、はい、私たちはすでにこのような何かについて考えた:ちょうど監視ドラッグが開始された後に「マウス左Btリリースイベント」が発生した場合。しかし、残念なことに、これはアプリの外のイベントを監視することができないため、システムへのフックを必要とします。 –

+0

@auserフックの必要はありませんが、これを試すことができます:http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293%28v=vs.85%29.aspx要件。 – AlQafir

+0

ありがとうございました!しかし、あなたのリンクの説明に記載されているように、機能は信頼できないように見えます。 "戻り値の最下位ビットは、Windowsの先制マルチタスクの性質により、最後のクエリ以降にキーが押されたかどうかを示しますが、別のアプリケーションがGetAsyncKeyStateを呼び出して、戻り値の最下位ビットの動作は、(非プリエンプティブな)16ビットWindowsアプリケーションとの互換性のために厳密に保持されているため、依拠するべきではありません。 –

関連する問題