Получить информацию об окне, зная его handle - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите, как зная хендл окна получить о нем информацию(есть ли в этом окне кнопки, сколько, их местоположение, название, цвет окна, ну такого рода).

Решение задачи: «Получить информацию об окне, зная его handle»

textual
Листинг программы
  1.  [DllImport("user32.dll", SetLastError = true)]
  2.  static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
  3.  
  4. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  5. static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
  6.  
  7. public static string GetText(IntPtr hWnd)
  8. {
  9.     // Allocate correct string length first
  10.     int length       = GetWindowTextLength(hWnd);
  11.     StringBuilder sb = new StringBuilder(length + 1);
  12.     GetWindowText(hWnd, sb, sb.Capacity);
  13.     return sb.ToString();
  14. }
  15.  
  16. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  17. static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, [Out] StringBuilder lParam);
  18.  
  19. public static string GetWindowTextRaw(IntPtr hwnd)
  20. {
  21.     // Allocate correct string length first
  22.     int length = (int)SendMessage(hwnd, WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero);
  23.     StringBuilder sb = new StringBuilder(length + 1);
  24.     SendMessage(hwnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb);
  25.     return sb.ToString();
  26. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы