2011-11-15 121 views
-1

我們遇到以下問題:拖放「不允許區域」通知

我們有一個包含項目的應用程序。

這些項目應該在桌面上拖放&。

一旦我們輸入拖動,項目(在應用程序中)隱藏。

現在,如果我們把它放在任何地方,一個快捷方式將被創建,並且應用程序中應該再次顯示該項目。

問題: 當用戶將其放到不可丟棄區域時,操作系統不會發出任何通知(據我們所知),因此我們無法使隱藏項目(在應用程序中)可見再次。

希望這裏有人能幫助我們,或者有一些很好的建議或解決方法。這是一個很難解決的問題。

+0

哪種語言c或c#或wpf或winforms .... –

+0

使用WPF的C#.NET –

+0

DoDragDrop()的返回值是不是這個用的? – Luke

回答

0

創建一個以50/100ms爲單位的計時器並檢查鼠標按鈕狀態。如果它被釋放並且沒有事件發生,用戶就會下降到一個無效的地方。

+0

MH,是的,我們想過這樣的事情已經:只是Monitor如果在啓動拖動之後發生「鼠標左鍵釋放事件」。但不幸的是,這需要系統掛鉤,因爲我們無法監視應用以外的事件。 –

+0

@auser有沒有必要掛鉤,你可以試試這個:http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293%28v=vs.85%29.aspx如果它適合你的要求。 – AlQafir

+0

非常感謝您的意見!但是,該功能看起來不像您的鏈接描述中所述的那樣可靠。 「儘管返回值的最低位指示自上次查詢以來是否按下了鍵,但由於Windows的優先多任務特性,另一個應用程序可以調用GetAsyncKeyState並接收」最近按下「位而不是您的應用程序,爲了與16位Windows應用程序(非搶先式)兼容,返回值的最低有效位的行爲被嚴格保留,不應被依賴。「 –