2012-05-25 55 views
1

我知道這是可能的,因爲我已經看到了一些與我正在開發的應用程序類似的應用程序,但我沒有絲毫知道如何實現它。基本上,我需要在自己的應用程序表單中創建一個鼠標。它應該能夠點擊表單上的內容,即使表單被最小化。在一個窗口中模擬鼠標 - C#

到目前爲止,我的研究僅引發了數百人要求使用mouse_event模擬Windows API的鼠標事件。這不是我所需要的,因爲它只是在屏幕上點擊而不是隱藏在可能的窗體上。

希望有人能指出我在這裏正確的方向。

+0

你想在這裏實現什麼?如果它是你自己的應用程序,並且用戶不控制這個「鼠標」,那麼爲什麼你需要它?你可以調用你的buttonClick方法等。 – Blorgbeard

+0

因爲沒有需要按下的按鈕。有一款遊戲會嵌入到靜態位置的表單中,以便鼠標可以映射需要點擊的位置以執行某些操作。有時我想知道爲什麼人們總是問我在開發什麼,並說「你爲什麼這樣做?」。 – ozdrgnaDiies

+2

因爲上下文在回答問題時很有用。通常有更好的方式來做事情。 – Blorgbeard

回答

0

如果你真的強調「鼠標模擬」。 Autoit是一個不錯的選擇。 - 一款免費軟件類似於BASIC的腳本語言,用於自動化Windows GUI和一般腳本
語法簡潔且易於學習。免費的自動編輯器可以生成exe,你可以在你的應用程序中執行它。

實施例1:模擬點擊在某些座標:

MouseClick ("button" [, x, y [, clicks [, speed]]]) 

http://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm

實施例2:模擬點擊按鈕

ControlClick ("My Window", "", "[CLASS:Button; TEXT:Finish; INSTANCE:2]") 

http://www.autoitscript.com/autoit3/docs/functions/ControlClick.htm

如果您真的想在您的應用程序中使用鼠標模擬功能,我不認爲有任何解決方法不是最終通過WinAPI發送鼠標事件。

+0

不,這不是我想要的。我需要它來點擊一個隱藏的窗口。無論如何,我用這種類型的東西使用AutoHotkey。 – ozdrgnaDiies

+0

ControlClick可以使用隱藏窗口。試一試。 – detale

-1

SendMessage和PostMessage應該在隱藏窗體上工作,將它們與WM_MOUSEXXXX代碼一起使用,並在wp或lp參數中提供鼠標位置,我會忘記它。