【问题标题】:Process sleep when form loses focus当表单失去焦点时处理睡眠
【发布时间】:2010-09-20 11:59:31
【问题描述】:

在为 GUI 编写带有 windows 窗体的服务器应用程序时,出现了一个问题。当表单失去焦点时,进程睡眠,因此除非表单始终处于焦点,否则任何网络都将无法工作。有什么方法可以创建一个对话框或窗口来保持其进程连续运行?

我调用了一个函数 cServer::GetInstance()->CheckEvents();它检查连接的事件以查看是否发生了任何特殊情况,问题是,当表单失去焦点时,监听端口的一般过程会停止。是否有解决方案或解决方法?

【问题讨论】:

  • “一个带有用于 GUI 的 windows 窗体的服务器应用程序”——我的大脑爆炸了。为什么您的服务器应用需要 GUI?
  • 因为用户友好的界面是这个项目的必要条件。想通过命令行应用程序保持简单,您可以使用标志来进行设置,但不幸的是我不能为这个项目。

标签: windows visual-c++ forms focus sleep


【解决方案1】:

如果您必须使用 win32 gui 应用程序,您的网络代码应该在一个独立的专用线程中。

总体而言,一个更好的解决方案是使您的“服务器”成为 Windows 服务,而您的 GUI 成为服务器的客户端应用程序。

【讨论】:

    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2011-11-23
    相关资源
    最近更新 更多