.NET 3.x Отправка текста через SendMessage - C#
Формулировка задачи:
Как отправить текст не в заголовок а в основную часть блокнота???
Если для отправки в заголовок я использую:
Использую импорты и константу:
Функция проверки окна и отправка текста:
Как отправить текст не в заголовок а в само тело куда пишется текст в блокноте?!
Хочу так же уточнить парочку деталей:
1 - За место полного названия: Textbovik.txt — Блокнот , можно ли найти дескрипт окна просто как Блокнот?
2 - Как сделать цикл проверки на открытие окна? ( пробовал
но без результатно).
3 - Что лучше использовать FindWindow или FindWindowEx ? ( И как по не могу находить окно) ??
[DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam); public const int WM_SETTEXT = 0X000C;
IntPtr ptr = FindWindow(null, "Textbovik.txt — Блокнот"); if (ptr == IntPtr.Zero) { Console.WriteLine("Окно не найдено"); } else { SendMessage(ptr, WM_SETTEXT, 0, "12345"); // сама функция отправки текста в заголовок }
while(true) { ... }
up...
Решение задачи: «.NET 3.x Отправка текста через SendMessage»
textual
Листинг программы
using System; using System.Runtime.InteropServices; namespace CleanConsole { class Program { [DllImport("user32.dll", SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam); [DllImport("user32.dll", EntryPoint = "FindWindowEx")] public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); public const int WM_SETTEXT = 0X000C; static void Main(string[] args) { IntPtr ptr = FindWindow(null, "Textbovik.txt — Блокнот"); if (ptr == IntPtr.Zero) { Console.WriteLine("Окно не найдено"); } else { IntPtr child = FindWindowEx(ptr, new IntPtr(0), "Edit", null); string s = "Text"; SendMessage(child, 0x000C, 0, s); //SendMessage(ptr, WM_SETTEXT, 0, "12345"); // сама функция отправки текста в заголовок } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д