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