c ++进程始终在窗口OS中的前台

时间:2010-04-09 04:34:42

标签: c++ c windows

我有一个c ++流程,我希望这个流程始终保持在前台,请指导我如何才能实现这一目标?

3 个答案:

答案 0 :(得分:4)

由于用户始终可以选择切换到其他应用程序,因此无法进行此操作。这是设计的。

来自Billy ONeal的良好链接:

  

How do I create a window that is never covered by any other windows, not even other topmost windows?

     

想象一下,如果这是可能的,并想象两个程序是否做到了这一点。程序A创建一个“超级最顶层”的窗口,程序B也是如此。现在用户拖动两个窗口使它们重叠。怎么了?你创造了一个逻辑上的不可能性。这两个窗口中的一个必须高于另一个窗口,与想象中的“超级最顶层”特征相矛盾。

答案 1 :(得分:1)

使用Win32 API SetWindowPos将窗口设置为最顶层,HWND_TOPMOST参数的值为hWndInsertAfter。您还可以使用BringWindowToTop将窗口置于z顺序的顶部。

答案 2 :(得分:0)

我认为您想知道如何将Windows PC变成Kiosk应用程序。

设置自助终端需要replacing the windows shell。完成此操作后,您通常不再有任何问题,因为除非您提供启动其他应用程序的工具,否则您是唯一正在运行的应用程序。 使用组策略编辑器还可以帮助锁定PC以用作Kiosk。 如果键盘可用或可以添加(例如提供USB接口意味着ppl可以插入键盘),Kiosk也很脆弱,在这种情况下,您需要确保ctl-alt-delete转到您自己的任务管理器,而不是系统一,因为系统任务管理器可用于启动任意应用程序。