Я пытался отправить ключ в приложение. Для простого теста я просто использовал блокнот. Вот как выглядит код:
[DllImport("USER32.DLL", EntryPoint = "SendMessageW", SetLastError = true,
CharSet = CharSet.Unicode, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern bool SendMessage(IntPtr hwnd, int Msg, int wParam, int lParam);
const int WM_KEYDOWN = 0x100;
const int WM_a = 0x41;
public void Press()
{
Process[] p = Process.GetProcessesByName("notepad");
IntPtr pHandle = p[0].MainWindowHandle;
SendMessage(pHandle, WM_KEYDOWN, WM_a, 0);
}
Но ничего не происходит.
Моя главная цель - отправить ключ в приложение с повышенными правами, но я был бы рад сначала отправить его в блокнот.
Я хочу работать с SendMessage, потому что я хочу контролировать, как долго я нажимаю кнопку, а также я не хочу, чтобы другое приложение было на переднем плане. Вот почему я не работаю с SendKeys.