C# 在Windows 8中以编程方式从开始(或metro)屏幕启动桌面应用程序

C# 在Windows 8中以编程方式从开始(或metro)屏幕启动桌面应用程序,c#,wpf,windows-8,C#,Wpf,Windows 8,我正在编写一个LOB WPF程序,它向用户提供一些文本警报(只是简单的MessageBox.Show();) 但正如您所想象的,我编写的桌面应用程序不会显示给用户,除非用户通过单击“桌面”磁贴切换到桌面模式 我试图使用以按Win+D键,但抛出了异常 如何以编程方式将桌面应用程序调到前台?如果我正确理解了这个问题,您也没有编写额外的Windows应用商店/Metro应用程序……您只希望用户看到WPF桌面应用程序发出的警报,即使他们当前在全屏Windows应用商店/Metro应用程序中,而不是桌面上

我正在编写一个LOB WPF程序,它向用户提供一些文本警报(只是简单的
MessageBox.Show();

但正如您所想象的,我编写的桌面应用程序不会显示给用户,除非用户通过单击“桌面”磁贴切换到桌面模式

我试图使用以按Win+D键,但抛出了异常


如何以编程方式将桌面应用程序调到前台?

如果我正确理解了这个问题,您也没有编写额外的Windows应用商店/Metro应用程序……您只希望用户看到WPF桌面应用程序发出的警报,即使他们当前在全屏Windows应用商店/Metro应用程序中,而不是桌面上

为了解决这个问题,我建议使用toast通知系统。您可以从Windows应用商店应用或桌面应用发送toast通知,因此您的WPF应用可以引发toast通知,而不是使用文本警报/MessageBox.Show()机制。无论用户身在何处,此toast通知都将显示给用户…在桌面上、开始屏幕上、Windows应用商店/Metro应用程序中…这是否解决了您的问题


这是有关的文档。它还链接到一个

感谢您的快速回复,但甚至没有提醒,是否可以通过编程方式将桌面应用程序显示在前台?不,您的桌面应用程序无法取代用户正在做的事情并显示在前台。通知是最好的方法。