【问题标题】:C++ MFC Software request focus at startup (blink in task bar)启动时 C++ MFC 软件请求焦点(在任务栏中闪烁)
【发布时间】:2015-03-09 14:05:00
【问题描述】:

我有一个基于 MFC (CDialog) 的 C++ 软件。当它启动时总是请求焦点,意味着它在 windows 任务栏中闪烁。

问题是任务栏应该设置为隐藏模式(因为我有一些其他 UI 应该覆盖全屏)。但是由于这个软件总是要求焦点,所以windows任务栏永远不会隐藏,直到我显示和隐藏这个软件......

我有其他没有这种行为的 MFC 软件,但到目前为止我无法找出可能有什么区别!

如果有人有一个想法那就太好了! 提前致谢。

【问题讨论】:

  • 那是你的代码吗?你可以在你的问题中发布它吗?
  • 这是我必须维护的代码...我们不再使用 MFC 进行开发,但我必须保留这个“旧”软件。所以代码非常庞大......任何可能有趣的特定部分?
  • 我相信初始化部分(然后创建的代码显示主对话框)应该足够了。
  • 在所有文件中搜索SetForegroundWindow,您会发现有问题的代码。
  • @Frédéric Hamidi:我必须先清理我的代码,然后才能发布任何内容,我会尝试这样做。

标签: c++ mfc


【解决方案1】:

看起来我正在取得一些进展......

如果我在OnInitDialog() 函数返回之前有ShowWindow(SW_SHOWNORMAL);,那么我就不会再出现这种行为了。

这当然不是完美的,因为我希望这个应用程序在启动时最小化并保持静默,但是当我尝试 ShowWindow 与其他 agrument 时,我总是会遇到这个闪烁的问题......

欢迎任何其他想法!谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多