C#判別某順序能否運轉的辦法。本站提示廣大學習愛好者:(C#判別某順序能否運轉的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#判別某順序能否運轉的辦法正文
本文實例講述了C#判別某順序能否運轉的辦法,分享給大家供大家參考。
詳細完成辦法如下:
[DllImport("user32.dll")]
private static extern bool
SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll")]
private static extern bool IsIconic(IntPtr hWnd);
// 音訊函數
[DllImport("user32.dll", EntryPoint = "PostMessageA")]
public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string strclassName, string strWindowName);
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MAXIMIZE = 0xF030;
private string exeName = "SaoMiaoApp";
public void SetForm()
{
Process[] processes = Process.GetProcessesByName(exeName);
if (processes.Length > 0)
{
IntPtr hWnd = processes[0].MainWindowHandle;
if (IsIconic(hWnd))
ShowWindowAsync(hWnd, 9);// 9就是SW_RESTORE標志,表示復原窗體
//SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
SetForegroundWindow(hWnd);
}
else
{
Process.Start(exeName + ".exe");
}
}
希望本文所述對大家的C#順序設計有所協助。