c++ - 需要相当 "rude"程序退出

标签 c++ windows qt modal-dialog terminate

环境是 Windows 7。我们有一个程序(用 C++ 编写并使用相当旧的 [大约 2000] 版本的 Qt)需要在同一台 PC 上监视服务(用 java 编写)。该程序打开到该服务的套接字连接,并且两人不断地聊天,没有特别的事情(套接字连接本身表明 omnia praeclara)。

如果该服务通过关闭套接字或通过其他方式发出警报,我需要 C++ 程序显示一条消息,然后暂停并终止。尽可能突兀地执行此操作会很好(我知道,这不是您的常规票价)。

我想学习的是如何让程序产生一个对话框或一些描述的窗口,占据整个屏幕,我可以在上面打印一条消息。同样可行的是,以 UAC 对话框的方式提出一个对话框(这会使屏幕变暗并接管,迫使你处理它)。超时后(会在那里停留几分钟),它会毫不客气地终止程序。 Kersplat!

我知道使用 MessageBox(或 QMessageBox)来显示少量信息,并使用 Ok 按钮进行确认,但这些既不是全屏也不是(想不出这个词,但它们不是“接管界面”)。

我知道这是处理程序退出的一种粗鲁和可怕的方式……我是故意这样的。这些机器位于用户可能已经离开的位置,需要提供某种形式的刺激物,最终迫使他们寻求帮助。

最佳答案

我建议使用相当大的文本调用 FatalAppExit 以增大生成的消息框的大小。

此消息框是系统模态的,位于除开始屏幕之外的所有内容之上。当然,您也可以创建一个最顶层的窗口(请参阅 CreateWindowEx 的窗口样式)。但是FatalAppExit是Windows为这个东西提供的手段。

关于c++ - 需要相当 "rude"程序退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25267914/

相关文章:

c++ - 从堆栈中弹出对象

c++ - [C++][std::sort] 它如何在 2D 容器上工作?

c++ - 如何解决两个库的两个头文件声明冲突?

c++ - QProgressDialog 没有关闭按钮

c++ - 如何在 qt4 设计器中创建自定义插槽?

c++ - 如何在文本后要求输入以显示 C++ 中的下一行?

c++ - 将 exr/pfm 保存到位图 CImg

python - Pygame帮助2.7

windows - dependency walker 如何知道模块中的哪些函数被使用了?

windows - 如何将 iCalendar 与 Outlook 同步