2011-05-22 57 views
-1

我正在跟蹤使用AForge.net框架的應用程序,我遇到了一個問題,當我點擊桌面時,「程序」表單仍在運行,它根本沒有跟蹤。追蹤我的表格外的鼠標移動

因爲我需要模擬鼠標點擊,拖放事件我想用我的手指上的彩色帽子執行此操作(紅色爲點擊和藍色爲移動), 因此,當我點擊桌面上的對象「即Image.jpg」,我需要再次將它拖入窗體中,所以跟蹤停止,因爲窗體上的焦點被禁用。

所以我的問題是當我點擊某個區域時,跟蹤停止。

p.s .:跟蹤在顯示的框架上不斷繪製藍色矩形,但是當我嘗試獲取移動斑點的位置時,它會停止。當我再次點擊窗體時,它會繼續顯示blob的位置。

我試過C#中的後臺工作者組件,但不幸的是沒有工作@全部。 所以,總結如下:

所有我想要的是保持控制鼠標,而不是跟蹤它。因爲我正在跟蹤我的手指,並用指尖移動光標位置

順便說一句,當我離開FORM區域時,我仍然可以使用另一個指尖(紅色)執行CLICKS,因此程序點擊響應,但是當我點擊一個圖像,並且我想將它拖到窗體中時,光標會掛起。有時會起作用,有時會停止。

+0

請分開你的段落 - 這是不可能讀取。更新:爲你做到了。 – Oded 2011-05-22 07:27:12

+0

不知道關於AForge.net的什麼,或者你在說什麼。但我知道**捕捉鼠標**是這樣做的標準方式。如果您使用WinForms,請調查['Control.Capture'屬性](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.capture.aspx)。 – 2011-05-22 08:53:57

回答

0

我對AForge.net並不熟悉,但聽起來您的問題與AForge.net沒有太多關係,就像MS Windows和其他窗口系統處理鼠標事件一樣。窗口不會從操作系統接收鼠標事件,除非鼠標指針位於該窗口內,或者鼠標按鈕在指針位於該窗口中並且仍在按住(或剛被釋放)時被按下。或者AForge.net可能依賴的其他特殊情況。

你可以去低級別,找出桌面的窗口ID,輪詢在那裏的鼠標事件等,但你可能需要超過三個星期。

最好的辦法可能是假冒它:將真實鼠標指針隱藏在窗體中,讓您的程序定期將鼠標指針置於窗體中間,每次移動它時,看看它有多遠移動並重新居中。然後顯示一個假的鼠標指針並將其移動到真實的位置。不知道這會在觸摸屏上工作多麼好。

+0

或者抓住指針,因爲Cody Gray評論你的原始問題。 (我從事Windows操作已經有一段時間了。) – dwk 2011-05-23 12:56:06