[DllImport("user32.dll")]
static extern uint SendInput(uint nInputs, INPUT [] pInputs, int cbSize);
Declare Function SendInput Lib "user32.dll" (nInputs As Integer, pInputs() As _
INPUT, cbSize As Integer)
INPUT, and VK is used in the sample code.
None.
Please add some!
class Test
{
void Test()
{
INPUT structInput;
structInput = new INPUT();
structInput.type = Win32Consts.INPUT_KEYBOARD;
// Key down shift, ctrl, and/or alt
structInput.ki.wScan = 0;
structInput.ki.time = 0;
structInput.ki.dwFlags = 0;
structInput.ki.dwExtraInfo = Win32.GetMessageExtraInfo();
if (Shift)
{
structInput.ki.wVk = (ushort)VK.SHIFT;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Ctrl)
{
structInput.ki.wVk = (ushort)VK.CONTROL;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Alt)
{
structInput.ki.wVk = (ushort)VK.MENU;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Win)
{
structInput.ki.wVk = (ushort)VK.LWIN;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
// Key down the actual key-code
structInput.ki.wVk = vk;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
// Key up the actual key-code
structInput.ki.dwFlags = Win32Consts.KEYEVENTF_KEYUP;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
// Key up shift, ctrl, and/or alt
if (Shift)
{
structInput.ki.wVk = (ushort)VK.SHIFT;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Ctrl)
{
structInput.ki.wVk = (ushort)VK.CONTROL;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Alt)
{
structInput.ki.wVk = (ushort)VK.MENU;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
if (Win)
{
structInput.ki.wVk = (ushort)VK.LWIN;
intReturn = Win32.SendInput(1, ref structInput, (UInt32)sizeof(INPUT));
}
}
}
Do you know one? Please contribute it!