首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以平板电脑模式在最上面启动另一个应用程序

以平板电脑模式在最上面启动另一个应用程序
EN

Stack Overflow用户
提问于 2016-08-03 19:51:45
回答 2查看 2.6K关注 0票数 4

当我从我的应用程序运行另一个.exe时,它在后台启动,并且没有在屏幕顶部显示应用程序,而是在平板电脑模式下显示主屏幕,它在正常桌面模式下工作正常,但当我在Windows10平板电脑模式下运行它时,它不会显示在顶部,而是在后台启动。

我用过myWindow.TopMost = true;,但它在Windows10平板电脑模式下无法正常工作。

用于启动exe文件的代码

代码语言:javascript
复制
Process p = new Process();
p.StartInfo.RedirectStandardOutput= true;
p.RedirectStandardInput = true;
p = Process.Start("myApp.exe");
p.WaitForExit();

我调用(启动)的exe是我自己的exe应用程序(不是系统应用程序),我在windows10上运行应用程序。

它只是在平板模式下不能在top上运行(而且我的应用程序只针对平板电脑)。

感谢任何帮助..!

EN

回答 2

Stack Overflow用户

发布于 2016-08-03 21:01:31

当我遇到类似的情况时,(它与平板电脑无关,也与windows-10无关。只有WPF TopMost 标签有相似之处)我会告诉你我是如何解决这个问题的:我希望FilterWindow总是TopMost(但只在我的应用程序上,而不是在我的操作系统中的整个应用程序集上)

请参阅我的代码。希望它能帮到你。

代码语言:javascript
复制
private void OnFilter() {   
    var filterViewModel = ViewModelLocator.FilterViewModel;

    /* ... */

    var filterWindow = new FilterWindow {
        DataContext = filterViewModel,
        Owner = GetParentWindow()
    };
    filterWindow.ShowDialog();
    SelectedIndex = 0;
}

private static Window GetParentWindow() {
    Window parent = null;

    var activeWindows = Application.Current.Windows.Cast<Window>().Where(item => (item).IsActive).ToList();
    if (activeWindows.Any()) {
    parent = activeWindows[activeWindows.Count - 1];
    }
    else {
        foreach (var item in 
            Application.Current.Windows.Cast<object>().Where(item => item.GetType().Name == typeof(RibbonWindow).Name)) {
            parent = item as Window;
        }
    }
    return parent;
}

神奇的是Owner = GetParentWindow()

在没有设置Owner的情况下,FilterWindow有一个荒谬的行为。

希望能对你有所帮助。如果不是,我将删除该响应。(它不适合评论)

票数 3
EN

Stack Overflow用户

发布于 2016-12-09 06:12:12

Moerfi提出的使用Owner = GetParentWindow()的解决方案非常有效,非常感谢这个解决方案。它还解决了我遇到的另一个问题。

我正在为Surface 3编写一个应用程序,它运行在Windows10Pro on tablet模式下,每当MessageBox或自定义对话框关闭时,Win10就会进入开始菜单,而不是返回父窗口。

就好像一旦对话控件打开,父窗口就会被放到后台,所以当对话控件关闭时,Win10就没有活动的窗口可以切换回来。

对子对话框控件设置所有者解决了这个问题。非常感谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38742821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档