设置活动窗口

Mic*_*ael 8 c# winapi

我正在尝试制作一个提供地震式下拉式HUD控制台的应用程序.我可以让它显示和隐藏窗口,但我无法弄清楚如何在显示它之后将其设置为活动窗口.我使用Win API调用来显示和隐藏窗口.我试过SetForegroundWindow(IntPtr hWnd)和SetFocus(IntPtr hWnd)无济于事.有人有主意吗?

http://pastebin.com/DgtJJGiv

public void ShowApp()
{
    IntPtr h = FindWindow(null, "C:\\Windows\\system32\\cmd.exe");
    ShowWindow(h, SW_SHOW);
    //EnableWindow(h, true);
    isHidden = false;
        // set focus to console window

    SetForegroundWindow(h);
    System.Diagnostics.Debug.WriteLine(h);
}
Run Code Online (Sandbox Code Playgroud)

Mig*_*elo 1

试试这个(对我有用):

public static void ShowApp()
{
    IntPtr h = FindWindow(null, "C:\\Windows\\system32\\cmd.exe");
    ShowWindow(h, ShowWindowCommands.Show);
    SetForegroundWindow(h);
    SetFocus(h);
    System.Diagnostics.Debug.WriteLine(h);
}
Run Code Online (Sandbox Code Playgroud)