Qt: windows下关闭系统窗体

这篇具有很好参考价值的文章主要介绍了Qt: windows下关闭系统窗体。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

之前做了个自动烧录工具,但是有些烧录时出现的一些烦人的弹窗需要解决, 刚好找到一个方法在这里记录一下。

代码

工程文件.pro加入 LIBS += -luser32

#include <Windows.h>
#include <vector>

// 枚举所有顶级窗口
EnumWindows(EnumWindowsProc, 0);

/* 枚举时调用的回调函数 */
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) 
{
    if (IsWindowVisible(hwnd)) // 过滤, 只显示可视化的窗体
    {
        // 获取窗口文本所需的缓冲区大小
        int length = GetWindowTextLengthW(hwnd);
        // 创建一个足够大的缓冲区来存储窗口文本
        std::vector<WCHAR> buffer(length + 1);
        // 获取窗口文本
        GetWindowTextW(hwnd, buffer.data(), length + 1);
        // 将宽字符字符串转换为QString
        QString windowTitle = QString::fromWCharArray(buffer.data());

        if (windowTitle.contains("bootfs")) // 这个是我想要关闭的窗体title包含的内容
        {
            SendMessage(hwnd, WM_CLOSE, 0, 0); // 发送关闭信号
            return FALSE; // 告知EnumWindows不用再遍历了,我已经找到我的目标了
        }

        qDebug() << "Window Handle:" << hwnd << " - Window Title:" << windowTitle;
    }
    return TRUE; 
}

Note:
详情看代码及备注。文章来源地址https://www.toymoban.com/news/detail-861439.html

到了这里,关于Qt: windows下关闭系统窗体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2. windows系统下在QT中配置OPenCV开发环境

    1. 说明: 在Windows系统中配置相对简单,不需要对下载的源码进行编译,在官网上下载的OPenCV可以直接使用,本文系统版本为win10,opencv是最新版本4.7.0。 效果展示: 2. 配置步骤: 2.1 下载OPenCV压缩包 打开opencv的官网OPenCV下载地址,可以在其页面内下载到最新的压缩包,如下

    2024年02月09日
    浏览(51)
  • Qt VS2017添加Qt窗体

    习惯用Qt Creator编写Qt程序,使用VS都不会创建QWidget了… 在VS的解决方案上中右键-添加-新建项 选择Qt,并没有找到Qt Widgets Class之类的选项,只有Form file 看到一个博客,在VS2022中可以直接创建 1 :使用VS2022创建QT界面, 不确定是否为版本问题 可先创建窗体,在手动添加窗体的

    2024年02月05日
    浏览(45)
  • 06-3_Qt 5.9 C++开发指南_多窗体应用程序的设计(主要的窗体类及其用途;窗体类重要特性设置;多窗口应用程序设计)

    常用的窗体基类是QWidget、QDialog 和QMainWindow,在创建 GUI应用程序时选择窗体基类就是从这 3 个类中选择。QWidget 直接继承于 QObject,是 QDialog 和 QMainWindow 的父类,其他继承于 QWidget 的窗体类还有 QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类QWindow,它同时从 QObject 和Q

    2024年02月13日
    浏览(85)
  • Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131931309 上一篇:没有了 下一篇:敬请期待…   麒麟系统上做全球北斗定位终端开发,调试工具要做一个windows版本方便校对,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标

    2024年02月15日
    浏览(71)
  • 06-1_Qt 5.9 C++开发指南_对话框与多窗体设计_标准对话框

    在一个完整的应用程序设计中,不可避免地会涉及多个窗体、对话框的设计和调用,如何设计和调用这些对话框和窗体是搞清楚一个庞大的应用程序设计的基础。本章将介绍对话框和多窗体设计、调用方式、数据传递等问题,主要包括以下几点。 Qt 提供的标准对话框的使用,

    2024年02月13日
    浏览(50)
  • 【Qt UI相关】Qt设置窗体或控件的背景色透明

    在Qt中, QPalette (调色板)类用于设置窗体或控件的外观颜色。首先,需要在代码中包含 QPalette 或 QGui 头文件。 然后,在构造函数中添加以下代码来设置窗体的透明度: 这里,我们使用 QPalette::Background 来设置窗体的背景色,并将其设置为全透明。 效果: 窗口整体透明,但

    2024年02月05日
    浏览(54)
  • Qt顶部圆角窗体

    Qt:实现顶层窗体圆角_qt 圆角窗口弹窗-CSDN博客 

    2024年01月25日
    浏览(31)
  • Qt 设置窗体透明

    一、前言 在音频开发中,窗体多半为半透明、圆角窗体,如下为Qt 5.5 VS2013实现半透明方法总结。 二、半透明方法设置 1、窗体及子控件都设置为半透明 1)setWindowOpacity(0.8);//参数范围为0-1.0,通过QSlider控件做成透明度控制条   2)无边框设置 3)窗体圆角设置 2、通过图片贴图

    2024年02月11日
    浏览(47)
  • QT窗体绘图QPainter

    QPainter INSCODE AI 创作助手: QPainter是Qt中的一个类,用于在窗口、图像或其他用户界面上绘制图形和文本。它提供了一些方便的方法来画线、矩形、圆、多边形和文本 QPainter绘图函数 INSCODE AI 创作助手: QPainter是Qt中一个用于绘图的类,它提供了一系列的绘图函数。以下是一些

    2024年02月05日
    浏览(37)
  • Qt实现改变无标题栏窗体大小及移动窗体

    目录 1.问题的提出 2.实现方法 3.存在的问题 一般情况下,当去掉窗体标题栏时,按住鼠标左键就无法实现拖动窗体;当去掉窗体标题栏时,窗体四周的边框也去掉了,此时按住鼠标左键拖动窗体四周边沿,无法实现鼠标拖动改变窗体大小。如下为Qt实现去掉窗体标题栏的代码

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包