簡體   English   中英

如何在C#中通過按鍵盤按鈕模擬鼠標單擊

[英]how do you simulate a mouse click by pressing a keyboard button in C#

我一直在嘗試找到一種以編程方式使鼠標單擊的方法,但是根據我的水平,我發現結果並不十分理想。 我知道如何放置鼠標以及除點擊以外的所有內容。 我也知道,有一種方法可以模擬帶有按鍵事件的鍵盤按下。 所以這讓我想知道,是否有一種方法可以通過按下鍵盤按鍵來使鼠標單擊? 之所以要這樣做,是因為我正在從事一個教育項目,該項目向初學者展示了如何在計算機上執行簡單功能,例如如何創建文件或打開某些程序,因此我需要單擊鼠標才能在屏幕和在我的應用程序之外。 這可能嗎? 所有幫助將不勝感激。

您可以通過以下代碼模擬鼠標單擊

using System.Runtime.InteropServices;
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);

    private const int MOUSEEVENTF_LEFTDOWN = 0x02;
    private const int MOUSEEVENTF_LEFTUP = 0x04;
    private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
    private const int MOUSEEVENTF_RIGHTUP = 0x10;

public void DoMouseClick()
    {
        //Call the imported function with the cursor's current position
        int X = Cursor.Position.X;
        int Y = Cursor.Position.Y;
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
    }

mouse_event實際上執行了moouse點擊。

這不是ac#答案,但是如果您嘗試僅自動進行教學,這可能會有所幫助。 您可以捕獲所有操作的視頻並突出顯示鼠標單擊。 Camtasia工作室就是一個很好的軟件。 這是一個付費軟件,但那里還有其他免費的屏幕錄制軟件。

如果您真的只想自動實際點擊鼠標,請嘗試使用Autoit http://www.autoitscript.com/site/autoit/

用於動畫。 您可以在屏幕的任何區域編寫任何腳本,從鍵盤按鍵到鼠標單擊。

如果您想嘗試一下,單擊任何位置,您所要做的就是

MouseClick("primary", x-coordinate, y-coordinate, number-of-clicks) 
// number of clicks = 2 for double click
$pos = MouseGetPos()
$pos[0] // contains the x coordinate of current mouse pos
$pos[1] // contains the y coord of current position

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM