我有一个c ++流程,我希望这个流程始终保持在前台,请指导我如何才能实现这一目标?
答案 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转到您自己的任务管理器,而不是系统一,因为系统任务管理器可用于启动任意应用程序。