Как я могу сравнить, если мое активное имя приложения/окна равно чем-то? Например, я хочу, чтобы приложение WinForms выполняло только его функции, когда определенное приложение находится в фокусе.C# сравнить название окна
Я пробовал использовать GetForegroundWindow()
, но он не работает.
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (GetForegroundWindow().ToString() == "Test123")
{
MessageBox.Show("right");
}
else
MessageBox.Show("wrong");
}
Так что мой таймер будет проверить, если заголовок текущего окна называется «test123» (примечание: имя процесса, только заголовок окна текста), и скажите мне, если это правильно или неправильно.
Что пошло не так? – DWright
Я не могу получить название окна. Я не знаю, что он пытается вернуть мне. – aliazik
Это просто возвращает вам окно «IntPtr». Вам нужно передать это на другой вызов API Win32, чтобы дать вам фактический заголовок. – TyCobb