一些幫助的......如何使人們有可能被按下換擋時,SHIFT鍵,並自動嗎?(避免長時間按住)
然後系統自動發佈的一剎那,
因此即使它仍然在用戶的鍵盤按下,
但是vb.net系統已經發布了shift鍵嗎?
避免長按或按住鍵...
我做出來的想法已經,因此決定在這裏張貼問題,做一些嚴重的研究後,請如果你知道迴應一些技巧使之成爲可能...
一些幫助的......如何使人們有可能被按下換擋時,SHIFT鍵,並自動嗎?(避免長時間按住)
然後系統自動發佈的一剎那,
因此即使它仍然在用戶的鍵盤按下,
但是vb.net系統已經發布了shift鍵嗎?
避免長按或按住鍵...
我做出來的想法已經,因此決定在這裏張貼問題,做一些嚴重的研究後,請如果你知道迴應一些技巧使之成爲可能...
您可以處理KeyDown事件並檢查是否按下了Shift
。
e.KeyCode = Keys.Shift
你可以用user32.dll中的lib工作和發送鍵釋放。 &H10
是Shift
的關鍵代碼。 Here是所有關鍵代碼的列表(將0x
替換爲&H
)。 &H2
意味着版本。如果您想請按鍵入&H0
。
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
keybd_event(&H10, 0, &H2, 0)
您可能想要處理整個窗體的KeyDown事件。
Form.KeyPreview = True
這裏是一個例子。
Public Class Form1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Shift Then
Form1.keybd_event(&H10, 0, &H2, 0)
End If
End Sub
End Class
感謝您的迴應! 我需要爲此導入一些東西嗎? 它顯示了一些不正確的下劃線 我試過「End sub」對此,但事情仍然不正確... – Kaozty
@Kaozty把_Declare_課後開始。將_KeyDown event_放在活動窗體的KeyDown事件上。 –
感謝您的快速響應... 這裏是另一個小問題,我根本得不到... 對不起,這麼noob ... https://fbcdn-sphotos-ca.akamaihd.net /hphotos-ak-prn1/t1.0-9/10292516_854816244534001_4054059025862689093_n.jpg – Kaozty
你試圖通過這樣做來解決什麼問題?現在是什麼狀況? –
你想模仿[StickyKeys](http://en.wikipedia.org/wiki/StickyKeys)嗎? –
我能想到解決這個問題的最簡單的解決方案... http://stackoverflow.com/questions/23444021/keys-overlapping-on-vb-net-a-macro-project-on-external-program – Kaozty