windows下简单的调用Setforegroundwindow并不能将窗口置最前,我找到三种方法可以实现该功能。

1、先置topmost,然后取消
 SetWindowPos(HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
 SetWindowPos(HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);

2、改变系统环境参数

这些定义winuser.h里都有的
#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
#define SPIF_UPDATEINIFILE 0x0001
#define SPIF_SENDWININICHANGE 0x0002

先设置环境变量
DWORD lockTime = 0;
SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &lockTime, 0);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, 0,
                     SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);

退出程序时还原环境变量

SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, lockTime,
SPIF_SENDWININICHANGE | SPIF_UPDATEINIFILE);
3、AllowSetForegroundWindow
 HMODULE hModule = NULL; ASFW_PTR pProcAddress = NULL;

 hModule = GetModuleHandle("User32");
 if (hModule != NULL)  pProcAddress = (ASFW_PTR)GetProcAddress(hModule, "AllowSetForegroundWindow");
 if (pProcAddress != NULL) {  nResult = (*pProcAddress)(-1);
  if (nResult == FALSE )   MessageBox(NULL, "Could not set foreground permission", NULL, MB_OK | MB_ICONERROR); }

Setforegroundwindow 将窗口置最前相关推荐

  1. wps里表格中间的字怎么置顶_如何让wps保持窗口最前_怎么把wps窗口置顶

    2020-03-04 15:40:25 wps是一款办公软件套装,可以实现办公软件最常用的文字.表格.演示等多种功能.win10系统打开编辑想让wps窗口置顶,也就是显示在其它窗口前面,这样能第一时间 ...

  2. 说说WinCE的WS_EX_TOPMOST和窗口置顶显示

    //======================================================================== //TITLE: //    说说WinCE的WS ...

  3. windows窗口置顶--Windows on Top

    目录 工具界面(非常简介): 使用方法 工具设置 快捷键设置及其他设置 在工作的时候,有时需要频繁切换窗口,而有时候需要看实时的数据请求,将窗口调小,又不好后面代码修改操作.这一款工具可以随时.将任意 ...

  4. cmd设置总是置顶_windows 下如何让一个窗口置顶?

    嘿,我也来分享三个,前两个可以忽略,第三个可能是最佳选择. 让 Win 更香的三个窗口置顶应用https://www.zhihu.com/video/1241767230004113408 将窗口置顶 ...

  5. 窗口置顶(置于桌面所有程序之上)VC/MFC 怎么将窗口置顶

    软件界面全屏显示后,需要把窗体置于其他桌面程序之上,但总是置于其他弹出框之下,会造成用户忽略了导致用户不明什么原因. 百度查了好多方法总是失败. 后来查到了CSND的一个帖子http://bbs.cs ...

  6. 【QT学习】如何隐藏标题栏、任务栏图标及子窗口置顶?(附常用窗口标志)

    文章目录 前言 一.标题栏隐藏 二.子窗口置顶 三.任务栏图标隐藏 四.单击任务栏图标显示(隐藏)窗口 附:QT常用窗口标志 总结 前言    本篇,将介绍如何隐藏窗口标题栏.任务栏图标以及子窗口置顶 ...

  7. 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow

    将窗口置顶的方法:SetWindowPos.AttachThreadInput.SwitchToThisWindow [转]http://hi.baidu.com/neil_danky/item/f9 ...

  8. Winform 为程序设置隐藏到托盘功能和将窗口置顶

    零.前言废话 之前因为工作需要与便于偷懒总结,便在一个阳光明媚的下午写了一个非常简单的Winform应用作为日常记录工作内容和一键生成工作周报的工具,当时因为基本功能都完成了,便没有继续优化细节.今日 ...

  9. PyQt5 技术篇-设置窗口置顶不生效问题原因,setWindowFlags()设置参数后不生效解决办法

    可能情况:被覆盖 Dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) # 设置窗口置顶 Dialog.setWindowFlags(QtCore ...

最新文章

  1. pandas 官方API
  2. Linux vim 梳理
  3. 怎样定义网页里的关键字关键词
  4. 《构建之法》阅读第四章、第十七章收获
  5. PyQt中从RAM新建QIcon对象 / Create a QIcon from binary data
  6. C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
  7. 苹果AirPods Pro将提供8种配色选择 或成最贵真无线耳机
  8. c语言从键盘输入求最大值和最小值,从键盘任意输入10个整数,计算并输出最大值和最小值及......
  9. python将mongodb导出_使用python从mongodb将数据导出到csv
  10. 计算机应用基础doc,计算机应用基础.doc
  11. 用Java写一个浪费cpu的程序_Java程序是如何浪费内存的
  12. win10 安装VB6详细安装教程及其中的坑
  13. python项目报告模板_python接口自动化(五)--接口测试用例和接口测试报告模板(详解)...
  14. lua——牛牛牌型处理相关算法(上)——牌值数据
  15. 【贪玩巴斯】操作系统(一)——操作系统引论 「发展与特征」2021-09-16
  16. 虚拟机无法重启服务器,windows2019虚拟机管理服务无法启动
  17. 电脑如何录屏?分享4个屏幕录制的好方法,建议收藏
  18. 高通MSM8998芯片数据资料参考
  19. 手搓GPT系列之 - Logistic Regression模型,Softmax模型的损失函数与CrossEntropyLoss的关系
  20. linux 'stack'未声明(在此函数内第一次使用,未定义的引用`__stack_chk_fail'

热门文章

  1. Spring 中获取 request 的几种方法,及其线程安全性分析
  2. Java 命令行运行参数大全
  3. 欧洲与北美5G开战,最后的赢家却是高通?
  4. (转)解释一下SQLSERVER事务日志记录
  5. 学习笔记——逻辑斯蒂回归与最大熵模型
  6. Linux静态路由相关
  7. UVA 357 - Let Me Count The Ways
  8. Drupal 忘记密码怎么办?重设管理员密码的几种方法
  9. 入行老师-郭靖(亦师亦友)同学
  10. SQL基础(八)-- sql左右连接中的on and 和 on where 的区别