Получить информацию об окне, зная его handle - C#
Формулировка задачи:
Подскажите, как зная хендл окна получить о нем информацию(есть ли в этом окне кнопки, сколько, их местоположение, название, цвет окна, ну такого рода).
Решение задачи: «Получить информацию об окне, зная его handle»
textual
Листинг программы
[DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount); public static string GetText(IntPtr hWnd) { // Allocate correct string length first int length = GetWindowTextLength(hWnd); StringBuilder sb = new StringBuilder(length + 1); GetWindowText(hWnd, sb, sb.Capacity); return sb.ToString(); } [DllImport("user32.dll", CharSet = CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, [Out] StringBuilder lParam); public static string GetWindowTextRaw(IntPtr hwnd) { // Allocate correct string length first int length = (int)SendMessage(hwnd, WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero); StringBuilder sb = new StringBuilder(length + 1); SendMessage(hwnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb); return sb.ToString(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д