c# - UWP 应用程序可以自行激活其窗口吗?

标签 c# uwp windows-10

public class MainViewModel MyViewModel : INotifyPropertyChanged
{
    Window window { get; set; }

    public MyViewModel()
    {
        window = Window.Current;
    }

    async void MyWebSocketService_PropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        switch (e.PropertyName)
        {
            case "ActivateWindow"
            ActivateWindow();
            break;
        }
    }

    void ActivateWindow()
    {
        await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            window.Activate();
            window.CoreWindow.Activate();
        });
    }
}

我正在尝试获取一个隐藏的或最小化的 UWP 应用程序,以便在收到 WebSocket 通知后重新获得操作系统的焦点。这是我试过的代码。它开火但没有任何反应。有没有办法实现我想要做的事情?

最佳答案

UWP 应用无法从最小化状态自行恢复,因为它的执行状态已暂停(因此无法运行任何代码)。恢复需要在外部触发,由用户或另一个正在运行的应用程序触发,它可以通过任何受支持的应用程序激活 API 激活挂起的 UWP 应用程序,例如通过协议(protocol)启动 - 正如您已经知道的那样。

关于c# - UWP 应用程序可以自行激活其窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49459721/

相关文章:

来自 XML 文件的 C# 类(源代码)生成器

c# - 如何从 bin 文件夹中删除 *.compiled 文件?

c# - 在 .Net native 中的线程池上运行的异步任务性能非常差

c# - UWP PDF 打印

windows - 如何从 RichEdit 中清除 "temporary"(tomApplyTmp) 格式?

c# - 无法在 ControlTemplate 中引用控件

c# - 如何使 winforms webbrowser 控件的工作方式与目标 Internet Explorer 非常相似

c# - 如何从 winform 启动 Windows 通用应用程序

windows-phone - 无法让 WinAppDeployCmd 进行 Appx 部署工作

c++ - 如何访问 C++ Windows 10 应用程序中的默认线程池?