Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than user32, prefix the name with the module name and a period.
<DllImport("user32.dll", CallingConvention:=CallingConvention.StdCall, _
CharSet:=CharSet.Unicode, EntryPoint:="keybd_event", _
ExactSpelling:=True, SetLastError:=True)> _
Public Shared Sub keybd_event(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
End Sub
This sample will generate a 'Scroll Lock' key press event when the user clicks 'Button1'.
Create a new Windows Application project;
Drop a button control in the recently created form;
Add the following code to the form class:
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll", CallingConvention:=CallingConvention.StdCall, _
CharSet:=CharSet.Unicode, EntryPoint:="keybd_event", _
ExactSpelling:=True, SetLastError:=True)> _
Public Shared Sub keybd_event(ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Const VK_SCROLL As Byte = &H91
Const KEYEVENTF_KEYUP As Byte = &H2
keybd_event(VK_SCROLL, 0, 0, 0) ' Generates a KEY_DOWN
keybd_event(VK_SCROLL, 0, KEYEVENTF_KEYUP, 0) ' Generates a KEY_UP
End Sub
End Class
Please add some more!
Alternative Managed API: System.Windows.Forms.SendKeys
PROBLEM: How do i use combination of shift and tab keys at the same time ?
public const byte VK_LSHIFT= 0xA0; // left shift key
public const byte VK_TAB = 0x09;
public const int KEYEVENTF_EXTENDEDKEY = 0x01;
public const int KEYEVENTF_KEYUP = 0x02;
//press the shift key
keybd_event(VK_LSHIFT, 0x45, 0, 0);
//press the tab key
keybd_event(VK_TAB, 0x45, 0, 0);
//release the tab key
keybd_event(VK_TAB, 0x45, KEYEVENTF_KEYUP, 0);
//release the shift key
keybd_event(VK_LSHIFT, 0x45, KEYEVENTF_KEYUP, 0);
I had some Compile errors until I Casted the final 0 to UIntPtr like this...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).