C # und SendMessage (Schlüssel) funktionieren nicht
Ich habe versucht, einen Schlüssel an eine Anwendung zu senden. Für einen einfachen Test habe ich nur Notizblock verwendet. So sieht der Code aus:
[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);
}
Aber nichts passiert
Mein Hauptziel ist es, den Schlüssel an eine erweiterte Anwendung zu senden, aber ich würde ihn gerne zuerst an den Notizblock senden. Ich möchte mit SendMessage arbeiten, da ich steuern möchte, wie lange ich eine Taste drücke, und auch die andere Anwendung nicht im Vordergrund haben möchte. Aus diesem Grund arbeite ich nicht mit SendKeys.