首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免所有系统消息和来自其他软件的消息

避免所有系统消息和来自其他软件的消息
EN

Stack Overflow用户
提问于 2011-11-04 21:03:23
回答 5查看 350关注 0票数 10

情况是这样的。我工作的公司用c语言开发了这款软件,它可以让Windows电脑表现得有点像电视机。从本质上讲,我们的软件是全屏播放的,内容从互联网上显示出来,用户不必再触摸电脑。

问题是,系统偶尔会弹出“您的Windows系统已准备好进行升级”之类的弹出窗口。或“请续订您的Norton订阅”等,用户必须定期和手动删除。

有没有一种方法可以全屏显示内容而不受这些警告的影响?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-22 01:28:36

是的,无论开发社区是否同意,微软都有几个标准来说明何时以及为什么可以接受独占使用监视器。

最官方的策略是以独占模式使用DirectX。这就是游戏所做的,windows media player在启用硬件加速的全屏视频中所做的事情,等等。如果你的应用程序是多媒体密集型的(像functionality),这样的电视节目建议的),你可能也应该使用DirectX。除了给你提供独家的显示访问,它还将提高您的应用程序的性能,同时降低CPU负载(因为它将在可能的情况下使显卡的图形工作过载)。

如果DirectX不是一种选择,那么在不同代的windows操作系统之间,似乎都有大量的黑客行为不同。因此,您可能需要准备实现几种技术来涵盖您计划支持的每个操作系统。

一种方法是将应用程序设置为当前运行的屏幕保护程序。一个屏幕保护程序,如果真的只是一个重命名为SCR的EXE,它应该支持某些命令行开关。但您可以编写自己的应用程序来作为屏幕保护程序,并使用一个小的启动程序存根将其设置为屏幕保护程序并启动它。在退出时,应用程序应该返回原始的屏幕保护程序设置(可能是启动程序等待进程退出,以便在正常退出和任何计划外进程终止时都返回设置,例如:应用程序崩溃)。不过,我不确定这种行为是否在平台上是一致的,您必须对其进行测试。

在我看来,阻止其他应用程序创建窗口句柄是一种非常糟糕的做法,作为此类软件的客户,我不会欣赏这种做法。

一个持续不断的BringWindowToTop()调用让你保持领先是更好的(它不会破坏其他软件),但仍然有点黑客风格。

票数 13
EN

Stack Overflow用户

发布于 2011-11-14 04:09:00

使用全局钩子捕获窗口创建消息。这样,您可以在不需要的窗口变为可见之前将其关闭或隐藏。

编辑:如果您确实想要避免钩子,那么您可以定期调用一个函数,这会将您的窗口放在z堆栈的顶部。

票数 7
EN

Stack Overflow用户

发布于 2011-11-22 01:44:03

您可以禁用系统更新http://support.microsoft.com/kb/901037并删除诺顿恶意软件。

您还可以连接第二个屏幕,以便气泡出现在第一个监视器中。

或者你为linux或windows ce重写它。

最后一个选择是安装软件,将您的os重新配置到kiosk http://shop.inteset.com/Products/9-securelockdown.aspx中。

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

https://stackoverflow.com/questions/8009573

复制
相关文章

相似问题

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