У меня есть решение, которое я использую для отправки клавишных вводов в другое приложение, однако, когда я отправляю «Key Down», оно фактически не удерживает эту клавишу, мне нужно было бы спамить «key down» в некоторыхцикл обновления.
Буду признателен, если кто-нибудь покажет мне, как я мог бы (используя winforms) отправить поддельный Key Down в другое приложение, но я не ищу нажатия клавиш.
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll")]
public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
public static void SendKeystroke(Keys k)
{
const uint WM_KEYDOWN = 0x100;
IntPtr WindowToFind = FindWindow(null, "application");
IntPtr result3 = SendMessage(WindowToFind, WM_KEYDOWN, ((IntPtr)(ushort)k), (IntPtr)0);
}
public static void EndKeyStroke(Keys k)
{
const uint WM_KEYUP = 0x101;
IntPtr WindowToFind = FindWindow(null, "application");
IntPtr result3 = SendMessage(WindowToFind, WM_KEYUP, ((IntPtr)(ushort)k), (IntPtr)0);
}