Nasledujúci kód nám ukazuje ako môžeme jednoducho aktivovať okno externého programu. V prvom kroku musíme získať handle na okno externej aplikácie. Získame ho napr. tak, že prehľadáme všetky procesy a ak nájdeme požadovaný proces, tak použitím MainWindowHandle získame handle. Ak už máme získany handle, dáme okno do popredia použitím SetForegroundWindow API , následne použitím ShowWindow API zobrazíme okno.
Kód v c#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[DllImportAttribute("User32.dll")]
private static extern int ShowWindow(int hwnd, int nCmdShow);
[DllImport("User32.dll")]
public static extern Int32 SetForegroundWindow(int hWnd);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var listprocess = Process.GetProcesses();
foreach (var p in listprocess)
{
if (p.ProcessName == "notepad")
{
var hWnd = p.MainWindowHandle;
SetForegroundWindow((int)hWnd);
ShowWindow((int)hWnd, 1);
this.TopMost = false;
}
}
}
}
}