хорошо, я нашел много сообщений о поиске окна по имени и т. Д. Что я не нашел, так это как найти и переключить фокус оконного приложения на последнее активное окно. Код, который я показываю ниже, даст мне список активных приложений в диспетчере задач, которые активны.
Что я не могу понять, как это сделать, так это выяснить, какое приложение было последним активным приложением, а затем переключиться на него. например ...
У меня открыто пользовательское приложение winform.
Я нажимаю кнопку
Мое приложение переключается на последнее активное окно / приложение.
Вот рабочий код, который у меня есть. (это действие над кнопкой, и оно ожидает, что в приложении есть текстовое поле с именем textbox1. Вам также необходимо добавить его с помощью System.Diagnostics;
private void button1_Click(object sender, EventArgs e)
{
Process[] procs = Process.GetProcesses();
IntPtr hWnd;
foreach (Process proc in procs)
{
if ((hWnd = proc.MainWindowHandle) != IntPtr.Zero)
{
textBox1.Text += (proc.ProcessName.ToString());
textBox1.Text += "\t";
textBox1.Text += (hWnd.ToString());
textBox1.Text += "\r\n";
}
}
}