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