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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage