Считать caption кнопки зная handle - C#

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

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

Здравствуйте. Как можно считать caption статус бара или другого любого объекта зная handle Есть такой код, но он только для форм(?)
Листинг программы
  1. public static string GetCaptionOfWindow(IntPtr hwnd)
  2. {
  3. string caption = "";
  4. StringBuilder windowText = null;
  5. try
  6. {
  7. int max_length = GetWindowTextLength(hwnd);
  8. windowText = new StringBuilder("", max_length + 5);
  9. GetWindowText(hwnd, windowText, max_length + 2);
  10. if (!String.IsNullOrEmpty(windowText.ToString()) && !String.IsNullOrWhiteSpace(windowText.ToString()))
  11. caption = windowText.ToString();
  12. }
  13. catch (Exception ex)
  14. {
  15. caption = ex.Message;
  16. }
  17. finally
  18. {
  19. windowText = null;
  20. }
  21. return caption;
  22. }

Решение задачи: «Считать caption кнопки зная handle»

textual
Листинг программы
  1.         [DllImport("user32.dll", EntryPoint = "SendMessage",CharSet = CharSet.Auto)]
  2.         static extern int sm(IntPtr hwndControl, uint Msg,int wParam, StringBuilder strBuffer);
  3.         [DllImport("user32.dll", EntryPoint = "SendMessage",CharSet = CharSet.Auto)]
  4.         static extern int smm(IntPtr hwndControl, uint Msg,int wParam, int lParam);
  5.         static int GetTextBoxTextLength(IntPtr hTextBox)
  6.         {
  7.             uint WM_GETTEXTLENGTH = 0x000E;
  8.             int result = smm(hTextBox, WM_GETTEXTLENGTH,
  9.               0, 0);
  10.             return result;
  11.         }
  12.  
  13.         static string GetTextBoxText(IntPtr hTextBox)
  14.         {
  15.             uint WM_GETTEXT = 0x000D;
  16.             int len = GetTextBoxTextLength(hTextBox);
  17.             if (len <= 0) return null;
  18.             StringBuilder sb = new StringBuilder(len + 1);
  19.             sm(hTextBox, WM_GETTEXT, len + 1, sb);
  20.             return sb.ToString();
  21.         }

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


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

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

10   голосов , оценка 4.2 из 5

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

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

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