2017-06-12 18 views
0

我有一個遠程系統,使用鼠標和鍵盤來操作事件,主要是電子郵件數據。Windows鼠標 - 如果硬件被移除或故障,軟鼠標?

現在又一遍,我鬆開鼠標 - 用戶在C#中拔下

我的應用程序編程。

我看過Legacy鼠標驅動程序,但Windows 10似乎不再支持這種舊技術。

我如何欺騙窗戶進入認爲有一個鼠標仍然連接和工作?或者是否有解決此問題的方法?

回答

0

MickyD的回答非常好,但並不完全。我不得不欺騙Windows看到鼠標移動:

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

private const uint MOUSEEVENTF_ABSOLUTE = 0x8000; 
private const uint MOUSEEVENTF_MOVE = 0x0001; 

uint dest_x = (uint)(coordinate.X * 65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width); 
uint dest_y = (uint)(coordinate.Y * 65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height); 

mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, dest_x, dest_y, 0, 0); 

注意此功能已被取代。改用SendInput。

請參見:https://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx

到目前爲止,這是工作,即使重新開機後!

我希望這可以幫助別人!

2

「愚弄」鼠標可能需要從操作系統級別完成,而不是從應用程序完成。幸運的是,不需要編程

的Windows 10(也許是之前的Windows版本)在控制面板稱爲輕鬆的訪問鼠標設置的設置。在此頁面上,您可以找到一個標題爲的設置。使用數字小鍵盤在屏幕周圍移動鼠標,啓用時就會完全按照說明操作。

enter image description here

Windows應用程序是完全無視該鼠標懸停和點擊實際上是由鍵盤,而不是一個普通的鼠標策動。

+0

這工作,直到重新啓動。重新啓動後,沒有鼠標指針/光標 - 對不起,我不得不取消標記爲答案,因爲它不是完整的解決方案,雖然是一個很好的解決方案 - 謝謝! –

+0

@RustyNail所以重新啓動後重新啓用它。完成任務 – MickyD

+0

只有通過再次插入鼠標才能實現這一點,但其他方式無法正常工作。沒有鼠標,沒有指針/光標,沒有在屏幕上移動鼠標。 –