0
我試圖在按下某個按鍵時模擬鼠標點擊。模擬鼠標當按下按鍵時單擊
我嘗試這樣做:
[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 = 0x08;
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Insert:
Point pt = Cursor.Position;
int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
mouse_event(MOUSEEVENTF_RIGHTDOWN, X, Y, 0, 0);
break;
}
這似乎並不奏效,我找不到任何其他的解決辦法。
這一事件將被調用。這是你的意圖嗎? – SimpleVar
要模擬點擊,您可能需要在MOUSEEVENTF_RIGHTDOWN後執行MOUSEEVENTF_RIGHTUP。最後一個是'0x10'而不是'0x08' – Jim
難道你不能只從鍵處理程序調用鼠標單擊處理程序方法,還是有特殊原因這樣做? –