Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Winapi 是否有任何方法可以通过编程将焦点切换到metro模式之外?_Winapi_Windows 8_Microsoft Metro - Fatal编程技术网

Winapi 是否有任何方法可以通过编程将焦点切换到metro模式之外?

Winapi 是否有任何方法可以通过编程将焦点切换到metro模式之外?,winapi,windows-8,microsoft-metro,Winapi,Windows 8,Microsoft Metro,如果我有一个在后台运行的程序,它需要用户在弹出时看到它(就像一个对话框),我可以让用户退出Metro模式(在Windows 8中)以便能够看到此通知吗?我非常怀疑,这样的功能将产生大量的应用程序,这些应用程序基本上会试图接管,并且对用户来说非常不和谐。不过,你的桌面应用程序可能会生成一个toast通知,提醒用户有一些操作需要执行,请参阅以获取详细信息。我同意Jim的观点:自动将上下文从桌面切换到Metro(或他们现在称之为Metro的任何内容)将在视觉上引起不和谐,并且用户对它怀有敌意。我意识到

如果我有一个在后台运行的程序,它需要用户在弹出时看到它(就像一个对话框),我可以让用户退出Metro模式(在Windows 8中)以便能够看到此通知吗?

我非常怀疑,这样的功能将产生大量的应用程序,这些应用程序基本上会试图接管,并且对用户来说非常不和谐。不过,你的桌面应用程序可能会生成一个toast通知,提醒用户有一些操作需要执行,请参阅以获取详细信息。

我同意Jim的观点:自动将上下文从桌面切换到Metro(或他们现在称之为Metro的任何内容)将在视觉上引起不和谐,并且用户对它怀有敌意。我意识到操作系统本身就是这样做的,就像从开始屏幕启动桌面应用程序一样。这不是一个好的设计

此外,当它这样做时,用户(可能)希望与新启动的应用程序进行交互。当您只是显示通知时,情况不一定如此。甚至可能不需要采取行动

相反,我建议您使用专门为此目的而设计的通知框架。有一个示例应用程序可供下载:

但是,请注意,为了使Toast通知能够从桌面应用程序运行,您必须在“开始”屏幕中安装桌面应用程序的快捷方式,并使用。这应该由安装程序处理。更多信息请参阅


当然,用户可以通过关闭通知或从开始屏幕中删除应用程序的快捷方式来禁用此功能。如果他们采取上述任何一种行动,你可以假设他们不再希望从你的应用程序接收通知。

Nuts。在发布这篇文章之前,我只看了吉姆答案的第一句话。我看他提出了完全相同的建议。哦,好吧,我把这个留给其他链接。哈哈,你比我更具描述性(读:更少懒惰:)!