.NET 3.x Как правильно убрать не нужные заголовки активного окна из текстбокса? - C#
Формулировка задачи:
Пытаюсь использовать класс GetClassName.
И с помощью его отфильтровывать окна, которые должны или не должны показываться
Но я немного не понимаю как сделать именно показывались те окна которые нужны ?? или же наоборот сделать запрет )
использую это:
[DllImport("User32.DLL")]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
[DllImport("User32.DLL")]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount); private string GetActiveWindowTitle()
{
const int nChars = 256;
IntPtr handle = IntPtr.Zero;
StringBuilder className = new StringBuilder(nChars);
// StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
if (GetWindowText(handle, className, className.Capacity) > 0)
{
textBox1.Text = className.ToString();
if (className.ToString() == "Program Manager" || className.ToString() == "" || className.ToString() == "Меню Пуск")
{
// здесь было this.Show();
// но как мне сделать чтобы всё что записано в classname: только выводило именно эти окна в текстбокс?
}
else
{
// а тут this.Hide();
// а тут сделать запрет на вывод если окно какое то другое :)
}
return className.ToString();
}
return "unknown";
}Решение задачи: «.NET 3.x Как правильно убрать не нужные заголовки активного окна из текстбокса?»
textual
Листинг программы
const int nChars = 256;
IntPtr handle = IntPtr.Zero;
StringBuilder className = new StringBuilder(nChars);
handle = GetForegroundWindow();
if (GetWindowText(handle, className, className.Capacity) > 0)
{
if (className.ToString() == "Program Manager" || className.ToString() == "Dialog" || className.ToString() == "Start"
|| className.ToString() == "") // в скобках пишем какие окна запретить отображать)
{
return null;
}
else
{
TextBox.Text = className.ToString();
}
return className.ToString();
}
return "unknown";
}
protected override bool ShowWithoutActivation
{
get { return true; }
}
protected override CreateParams CreateParams
{
get
{
var Params = base.CreateParams;
Params.ExStyle |= 0x80;
return Params;
}
}