.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"); // сама функция отправки текста в заголовок
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д