.NET 3.x Как правильно убрать не нужные заголовки активного окна из текстбокса? - C#

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

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

Пытаюсь использовать класс GetClassName. И с помощью его отфильтровывать окна, которые должны или не должны показываться Но я немного не понимаю как сделать именно показывались те окна которые нужны ?? или же наоборот сделать запрет ) использую это:
Листинг программы
  1. [DllImport("User32.DLL")]
  2. public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
  3. [DllImport("User32.DLL")]
  4. public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
Листинг программы
  1. private string GetActiveWindowTitle()
  2. {
  3. const int nChars = 256;
  4. IntPtr handle = IntPtr.Zero;
  5. StringBuilder className = new StringBuilder(nChars);
  6. // StringBuilder Buff = new StringBuilder(nChars);
  7. handle = GetForegroundWindow();
  8. if (GetWindowText(handle, className, className.Capacity) > 0)
  9. {
  10. textBox1.Text = className.ToString();
  11. if (className.ToString() == "Program Manager" || className.ToString() == "" || className.ToString() == "Меню Пуск")
  12. {
  13. // здесь было this.Show();
  14. // но как мне сделать чтобы всё что записано в classname: только выводило именно эти окна в текстбокс?
  15. }
  16. else
  17. {
  18. // а тут this.Hide();
  19. // а тут сделать запрет на вывод если окно какое то другое :)
  20. }
  21. return className.ToString();
  22. }
  23. return "unknown";
  24. }

Решение задачи: «.NET 3.x Как правильно убрать не нужные заголовки активного окна из текстбокса?»

textual
Листинг программы
  1. const int nChars = 256;
  2.             IntPtr handle = IntPtr.Zero;
  3.             StringBuilder className = new StringBuilder(nChars);
  4.             handle = GetForegroundWindow();
  5.             if (GetWindowText(handle, className, className.Capacity) > 0)
  6.             {
  7.                 if (className.ToString() == "Program Manager" || className.ToString() == "Dialog" || className.ToString() == "Start"
  8.                     || className.ToString() == "") // в скобках пишем какие окна запретить отображать)
  9.                 {
  10.                     return null;
  11.                 }
  12.                 else
  13.                 {
  14.                    
  15.                     TextBox.Text = className.ToString();
  16.                 }
  17.                 return className.ToString();
  18.             }
  19.             return "unknown";
  20.         }
  21.  
  22.         protected override bool ShowWithoutActivation
  23.         {
  24.             get { return true; }
  25.         }
  26.  
  27.         protected override CreateParams CreateParams
  28.         {
  29.             get
  30.             {
  31.                 var Params = base.CreateParams;
  32.                 Params.ExStyle |= 0x80;
  33.                 return Params;
  34.             }
  35.         }

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


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

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

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

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

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

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