このトピックに関する良い答えが見つからなかったので、誰かが私を助けてくれるかもしれません. 特定のアプリケーションを前面に出したい小さな個人用プログラムを作成しています。すでに機能していますが、小さな問題が 1 つあります。プロセスが最小化されると、コードが機能しません。プロセスは、最小化されていない場合のようにフォアグラウンドに表示されません。
コードのスニペットを次に示します。
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process[] p
= System.Diagnostics.Process.GetProcessesByName("Client");
if (p.Length > 0)
{
SetForegroundWindow(p[0].MainWindowHandle);
}
else
{
MessageBox.Show("Window Not Found!");
}
}
}