Я пытаюсь использовать SendMessage для Блокнота, чтобы я мог вставить письменный текст, не делая Блокнот активным окном.
В прошлом я делал что-то подобное, используя SendText
, но для этого требовалось сфокусировать Блокнот.
Теперь сначала я получаю дескриптор Windows:
Process[] processes = Process.GetProcessesByName("notepad");
Console.WriteLine(processes[0].MainWindowHandle.ToString());
Я подтвердил, что это правильная ручка для Блокнота, такая же, как в Windows Task Manager
.
[DllImport("User32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);
Отсюда я не смог заставить SendMessage работать во всех моих экспериментах. Я иду в неправильном направлении?