我有一个在Window CE 6.0中运行的Win32 C ++控制台应用程序,它包含许多连续运行的线程。偶尔需要停止应用程序,我希望以受控方式发生。执行此操作的一种方法是简单地监视控制台窗口,如果它关闭则停止该过程。不幸的是,SetConsoleCtrlHandler似乎不是Windows CE 6.0的Win32 api的一部分。有谁知道如何检测控制台是否在CE中运行的Win32 C ++程序中关闭?
谢谢,
答案 0 :(得分:0)
您可以通过DeviceIoControl致电IOCTL_CONSOLE_SETCONTROLCHANDLER
来观看Ctrl-C。使用_fileno
(stdout)
作为hDevice参数。
我认为没有办法获得任何其他“关闭”机制的通知。
答案 1 :(得分:0)
我在Windows Embedded Compact 7上工作了.Ctrl + C和“窗口关闭”事件都被捕获。
请注意,IOCTL_CONSOLE_SETCONTROLCHANDLER已被弃用,而且当给出IOCTL代码时,DeviceIoControl()会失败。