Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法用白色激活窗口?_C#_Wpf_Windows_Automation_White Framework - Fatal编程技术网

C# 有没有办法用白色激活窗口?

C# 有没有办法用白色激活窗口?,c#,wpf,windows,automation,white-framework,C#,Wpf,Windows,Automation,White Framework,是否有办法激活或将外部应用程序的窗口置于前端?我能找到的最接近的是 var application = Application.Attach("SearchApp"); var searchWindow = application.GetWindows()[0]; searchWindow.Focus(DisplayState.Maximized); 但是,如果它当前未处于活动状态,则只需在后台将其最大化 成功了 [DllImport("user32.dll", SetLastErr

是否有办法激活或将外部应用程序的窗口置于前端?我能找到的最接近的是

var application = Application.Attach("SearchApp");
var searchWindow = application.GetWindows()[0];

searchWindow.Focus(DisplayState.Maximized);
但是,如果它当前未处于活动状态,则只需在后台将其最大化

成功了

    [DllImport("user32.dll", SetLastError = true)]
    internal static extern bool SetForegroundWindow(IntPtr windowHandle);


    public bool SearchTest(string file) {
        try
        {
            // White stuff, not relevant to problem
            //var application = Application.Attach("SearchApp"); 
            //var searchWindow = application.GetWindows()[0];

            Process p = Process.GetProcessesByName("SearchApp")[0];
            SetForegroundWindow(p.MainWindowHandle);

你用谷歌搜索过吗?“将wpf窗口带到前面”的第一个结果之一是:下面是我做的。问题是我不需要把我的窗口放在前面,我需要对一个外部应用程序这样做。这是一个完全不同的问题。我编辑了你的,以反映这一点。别忘了在你的帖子中包含所有相关信息。啊,谢谢。很抱歉出现歧义。您需要user32.dll。请参见此处:。在这里可以找到所有窗口的名称,然后你就可以找到你的:就是这样!祝贺你:)