Wallpaper Engine特性仿制

2023-10-26

wallpaper master

起源

最近一直在折腾一下壁纸的东西,前段时间刚写了一个跨平台桌面(windows/linux kde)的壁纸网络应用,个人使用效果还不错的样子。

地址

前两天突然发现了wallpaper engine这个软件,然后在创意工坊中打开了新世界,感觉挺炫酷的。于是想着看自己能不能照着实现一些类似的特性。于是就有了这个工程。

本项目地址

预览

在这里插入图片描述

在这里插入图片描述

特性

  • 无干扰的独立壁纸层
  • 鼠标跟随实时去衣

本工程基于QT实现,涉及到一些Windows的原生API操作,请查看微软doc文档。

无干扰的独立壁纸层

这个大佬们已经分析的很透彻了,就是让自己的壁纸画布成为桌面壁纸窗口的子窗口,这样就可以让自己的壁纸覆盖windows自带的壁纸,同时有达到不干扰windows自带壁纸的目的。当然还有一个最重要的目的就是自己的壁纸层可以随意操作。

在这里插入图片描述

上图中,2是windows自带的壁纸窗口(或许这个说法并不准确),我们只需要将我们的壁纸窗口设置成2窗口的子窗口就达到了目的,图中3窗口就是我们自己的壁纸窗口。

然而窗口2并不太好查找,它并没有设计窗口名称,我们只知道它的类名是WorkerW,但是类名是WorkerW的窗口有很多,通过对比我们发现,我们要查找的2窗口的父窗口是图中的1窗口。而1窗口我们通过类名的窗口名很容易查找到。至此,我们查找窗口2的思路就确定了:

  1. 先通过类名和窗口名查找到窗口1
HWND hwnd = ::FindWindowA("progman","Program Manager");

然后循环遍历查找类名为WorkerW,并判断查找到的窗口的父窗口,是不是上面确定的hwnd窗口,如果是的,那么查找就结束了。

HWND background = NULL;
HWND hwnd = ::FindWindowA("progman",
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wallpaper Engine特性仿制 的相关文章

随机推荐

  • 计蒜客 蒜头君的新游戏(DP)

    蒜头君的新游戏 include
  • 构造函数设置为private,会怎样。

    构造函数设置为private 会怎样 1 无法静态的创建对象了 即不能通过 A a这种方式创建对象了 只能通过在类的内部的静态成员函数中new一个对象 动态的创建对象 include
  • NotScripts扩展在Chrome中禁用网页JavaScript

    经常上网查找资料的朋友 应该对于那些无法复制网页内容的网站是深有感触的 由于这些网站作者为保护自己的网站内容不被他人抄袭 使用了JavaScrip来禁用鼠标右键复制功能 解决办法当然就是用浏览器禁止使用网页的JS加载或者生效了 如果你经常使
  • Hive窗口函数大全

    Hive窗口函数 一 偏移量函数 lag lead 二 窗口分析函数 first value last value 三 排序函数 rank dense rank row number 一 偏移量函数 lag 语法 lag col n def
  • linux网络编程实现投票功能

    投票系统 1 说明 写了一个投票系统 过程是先配置好服务器 在写一个网上投票功能 要实现网上投票功能 其实功能实现还是很简单的 麻烦一点的在于过程比较繁杂 要做的东西还是挺多的 2 过程 第一步 配置httpd服务器 先配置好httpd服务
  • 决策树

    这篇博客用来简要介绍决策树算法 DecisionTree 决策树是机器学习中常用的一种算法 它即可用于解决分类问题 也可用于解决回归问题 在这篇博客我们只介绍分类决策树 决策树顾名思义是一种树形结构 而我们的任务就是想办法构建出这样一颗树用
  • 机器学习入门实战加州房价预测

    目录 1 快速搭建运行环境 2 快速构建项目 2 1 导入训练集 2 2 安装函数库 2 2 1 安装numpy 2 2 2 安装pandas 2 3 构建特征集和标签 2 4 导入数据集拆分工具sklearn 2 5 导入线性回归算法模型
  • Springboot集成security,自定义@Anonymous标签实现免登录,免鉴权

    首先 项目springboot使用了2 6 8版本 集成security的过程中 使用了比较严格的自定义策略 任何请求都需要认证和授权 判断用户是否有查询改接口的权限 并且提供了配置或者注解两种方式提供匿名访问的接口 第一种通过配置 第二种
  • kdtree备份

    库在这里 这个很好用 例子 gcc Wall g o test test c libkdtree a include
  • keil出现 “st-link usb communication error“的解决方法,“升级”固件库

    1 如题 我用keil使用ST LINK下载程序的时候 发现报错st link usb communication error 2 明明上周还是可以用的 这周就不行了 想一想问题出在哪里 原来我在另外一块开发板上下载程序也是一直报错 kei
  • 生成android toolchain

    1 安装ndk 推荐的方法是先安装android studio2 2及以上版本 然后通过sdk manager安装ndk 如果是ubuntu系统 强烈建议64位的14 04及以上系统 2 在Android目录 android studio安
  • 博哥爱运维教程&视频

    文章目录 第1关 K8s一窥真容 第2关 部署安装包及系统环境准备 第3关 二进制高可用安装k8s生产级集群 第4关 K8s最得意的小弟Docker 第5关 K8s攻克作战攻略之一 K8s的API对象 所有怪物角色列表 Namespace
  • AXI总线介绍

    AXI总线介绍 参考文档 UG761 AXI Reference Guide v14 3 AXI入门 深入AXI总线 一 深入AXI总线 二 AXI是什么 axi是一种总线协议 他是ARM AMBA Advanced Microcontro
  • Unity Shader: Shader粒子广告牌

    广告牌效果既是不论物体与摄像机的角度 被渲染物体总是正对着摄像机 此技术广泛利用于粒子效果中 例如Unity内置的Particle System 下文将要介绍如何在Shader中实现广告牌效果 在视空间对顶点进行重定位 图1 摄像机绑定在立
  • 关于实现shiro权限拦截遇到的一些坑

    目的 通过拦截器实现对部分请求的拦截做自定义的鉴权处理 鉴权不通过时实现json返回 bug 通过继承 PermissionsAuthorizationFilter 实现了自定义的鉴权处理 但是前端报错302并做了请求转发 配置 1 在 S
  • vue脚手架 快速搭建项目

    使用vue cli vue脚手架 快速搭建项目 什么是vue cli 使用vue cli搭建项目步骤 1 安装NodeJs 下载node js到本地 2 安装npm 3 安装淘宝npm镜像 4 全局安装vue cli脚手架 5 测试环境是否
  • 交换机与MAC地址

    目录 前言 1 以太网MAC地址 2 以太网帧格式 3 交换机的工作原理 3 1交换机以太网接口的工作模式 3 2交换机以太网接口速率 4 华为命令 4 1管理路由器 交换机的方式 总结 前言 1 什么是交换技术 MAC地址又有什么作用 交
  • 【1】掌握浏览文件目录类命令

    1 浏览目录类命令 pwd 查看用户当前所处目录位置 cd 切换命令 1 代表当前目录 2 代表当前目录父目录 3 代表家目录即主目录 4 返回上一级 cd 返回上两级 ll或ls 列出文件或目录信息 ll比ls详细 1 文件 2 d 目录
  • bert-base-ner-train训练没有打印loss及step等重要参数信息(写给初学者)

    在跟随大牛 Macanv 基于BERT预训练的中文命名实体识别TensorFlow实现 的帖子一步步实现时 发现了一个非常困扰的问题 就是执行以下语句后 屏幕上什么提示也没有 比如loss是多少 进行到哪一步了step等等 百度一顿搜索后
  • Wallpaper Engine特性仿制

    wallpaper master 起源 最近一直在折腾一下壁纸的东西 前段时间刚写了一个跨平台桌面 windows linux kde 的壁纸网络应用 个人使用效果还不错的样子 地址 前两天突然发现了wallpaper engine这个软件