美文网首页
SetForegroundWindow失效的问题

SetForegroundWindow失效的问题

作者: 叶迎宪 | 来源:发表于2018-08-21 14:22 被阅读0次

试验出来的SetForegroundWindow失效的情况之一,是窗口被最小化了。解决的方法是

    ::ShowWindow(wnd_, SW_SHOWNORMAL);
    ::SetForegroundWindow(wnd_);

网上的万金油做法是

    HWND hForeWnd = ::GetForegroundWindow();
    DWORD dwForeID = ::GetWindowThreadProcessId(hForeWnd, NULL);
    DWORD dwCurID = ::GetCurrentThreadId();
    ::AttachThreadInput(dwCurID, dwForeID, TRUE);
    ::ShowWindow(wnd_, SW_SHOWNORMAL);
    ::SetWindowPos(wnd_, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    ::SetWindowPos(wnd_, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    ::SetForegroundWindow(wnd_);
    ::AttachThreadInput(dwCurID, dwForeID, FALSE);

感觉SetWindowPos也不是必须的

相关文章

  • SetForegroundWindow失效的问题

    试验出来的SetForegroundWindow失效的情况之一,是窗口被最小化了。解决的方法是 网上的万金油做法是...

  • gitignore失效的问题

    有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.git...

  • grub失效的问题

    最主要的参考:https://blog.csdn.net/gatieme/article/details/5912...

  • Pyinstaller打包后常见问题及解决方案

    1、subprocess.popen 失效问题

  • gitignore失效问题

    一般项目下载下来都会有 .gitignore文件,不需要特别设置,但当你在开发中,想忽略某个文件时,就需要把这个文...

  • COCOAPODS失效问题

    1. 解决MAC系统升级导致COCOAPODS失效问题 使用pod install出现如下错误 这是Mac升级系统...

  • 插件失效问题

    原因: 苹果要求加入UUID证书从而保证插件的稳定性。 解决方法: 一、查看Xcode的UUID 在终端执行 de...

  • Rxbinding失效问题

    使用notifyDataSetChange()会使得已经绑定的RxBinding事件失效,原因是调用notifyD...

  • AOP失效问题

    AOP失效问题 前言 AOP我们知道,可以做成一个切面,我们可以把类里一些公共的行为放到AOP中。例如在AOP里...

  • IQKeyboardManager失效问题

    在AppDelegate 中设置了 IQKeyboardManager 的基本配置 然而却不起作用我的问题原因...

网友评论

      本文标题:SetForegroundWindow失效的问题

      本文链接:https://www.haomeiwen.com/subject/fxxjiftx.html