NaibedyaKar
Можете ли вы попробовать ниже. Теперь я проверил его, и он работает нормально.
[DllImportAttribute("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImportAttribute("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImportAttribute("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
public static void ShowToFront(string windowName)
{
try
{
IntPtr firstInstance = FindWindow(null, windowName);
ShowWindow(firstInstance, 1);
SetForegroundWindow(firstInstance);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Вы должны вызвать функцию с полным именем приложения, которое вы хотите восстановить. (точно так же, как показано на вкладке диспетчер задач windows-приложение). Вы можете получить это имя из процесса.MainWindowTitle. Проверьте приведенное ниже событие..
private void button1_Click(object sender, EventArgs e)
{
try
{
Process[] Processes = Process.GetProcessesByName("winword");
foreach (Process p in Processes)
{
ShowToFront(p.MainWindowTitle);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
TatsuSheva
Мне нужно проверить , свернуто ли окно, поэтому создается кнопка, а затем, когда мы нажимаем на кнопку, окно восстанавливается.
TatsuSheva
То, что вы мне дали, является правильным, но как я могу проверить, свернуто ли окно ? Потому что я хочу создать кнопку динамически, когда окно свернуто.
NaibedyaKar
Извините за поздний ответ, я был занят кое-чем другим.
Вы можете использовать IsIconic(экземпляр), чтобы узнать, минимизировано ли приложение или нет. Позвольте мне показать весь код как отдельный ответ.