360桌面助手

使用spy++获取窗口层级关系

  • workerw窗口获取到后,setparent
  • 360桌面助手窗口是最大化的,所以可以通过截图,获取每个图标的大小和位置,再在360桌面窗口上绘制(如果窗口不是最大化,设置为透明就可以了)

获取workw窗口

使用C#代码调用windows api接口,调试模式下设置窗口parnet会失败

private void SetBackgroundWindowWorkerW(){Win32Methods.EnumWindows(new Win32Methods.EnumWindowsProc((h, l) => {int winClassCount = 0;IntPtr winClassPt = Marshal.AllocHGlobal(512);if (Win32Methods.GetClassName(h, winClassPt, out winClassCount) != 0){string winClass = Marshal.PtrToStringAnsi(winClassPt);if (Win32Methods.IsWindowVisible(h) && winClass == "WorkerW"){//System.Windows.MessageBox.Show("ok");long wStyle = Win32Methods.GetWindowLong(_mainHandle, -16);Win32Methods.SetWindowLong(_mainHandle, -16, 0x40000000L | wStyle);wStyle = Win32Methods.GetWindowLong(_mainHandle, -16);Win32Methods.SetParent(_mainHandle, h);Win32Methods.SetWindowPos(_mainHandle, new IntPtr(0), 0, 0, 0, 0, 0x0002 | 0x0001);return false;}else{return true;}}Marshal.FreeHGlobal(winClassPt);return true;}), 0);}

获取桌面图标

shelldll_defview => syslistview32(FolderView)窗口
int count = (int)SendMessage(desktophwnd, LVM_GETITEMCOUNT, (WPARAM)0, (LPARAM)0);

窗口api

GetShellWindow 获取shelldll_defview窗口

参考:https://blog.csdn.net/f919974096/article/details/89479630
https://zhuanlan.zhihu.com/p/37877070(过渡窗口workerw的讲解)

github:https://github.com/NoisyWinds/Wallpaper.git

桌面自定义(WorkerW)相关推荐

  1. [测试项目]Windows 桌面自定义WorkerW分层窗口

    提示:本文所采用的方法属于本人猜想方案(目前没有在Win7及XP尝试过,但在NT的较高版本Win10在不发送052C消息,即不使用系统生成的WorkerW分层窗口实践成功.Win8开始DWM无法关闭, ...

  2. Python桌面自定义---实现定时更换桌面壁纸

    Python桌面自定义---实现定时更换桌面壁纸 1 效果 2 获取大量壁纸 3 Python代码实现定时更换壁纸 1 效果   大致效果如下,设置过定时更换壁纸的应该都知道是啥场景. 2 获取大量壁 ...

  3. clear linux 图形界面,Clear Linux准备迁移到GNOME 3.36,放弃其桌面自定义设置

    英特尔(Intel)本周宣布,将剥离桌面版的Clear Linux平台,并将重点放在服务器和云工作负载上,这一消息多少有些出人意料.预计桌面版的第一个明显变化将在下周出现. Clear Linux正在 ...

  4. android开发 自定义锁屏界面,插件锁屏桌面自定义 “安卓4.0”界面美化教程

    距离Android4.0系统的正式发布已经过去一段时间,除了最先搭载该系统的三星Galaxy Nexus.华为荣耀Android4.0商用版以及小米手机MIUI4.0等,多数用户目前仍然处于观望阶段. ...

  5. Centos7 Gnome桌面 自定义\编辑 文件资源管理器侧边栏

    如何自定义Centos7默认资源管理器侧边栏 最近新安装了一个Centos7系统,打开文件资源管理器后发现侧边栏好多无用的书签,而且只能rename重命名不能remove删除,这让强迫症的我根本忍不下 ...

  6. android+桌面+自定义图标,Android设置个性化Dialog小图标的方法

    本文实例讲述了Android设置个性化Dialog小图标的方法.分享给大家供大家参考,具体如下: 设置个性化Dialog小图标,主要代码如下: @Override protected void onC ...

  7. android tv 桌面,自定义RecyclerView打造Android TV桌面

    前言 Android TV Launcher页在RecyclerView出来之前大家用GridView去实现.TV开发有五向键的监听,遥控器hover监听,点击事件等.用GridView去处理焦点是有 ...

  8. Launcher 记录自定义桌面

    Launcher 记录自定义桌面 自定义桌面数据的创建.更新和删除. 前置文章 <Launcher的启动过程 > < Launcher界面结构 > <Launcher拖拽 ...

  9. xp自定义桌面中ie图标消失解决办法

    最近发现原来在桌面的ie图标不知不觉中不见了,本以为在桌面右键->属性->自定义桌面选项卡勾选出来就可以了,可是打开该配置窗口时却找不到这个图标...  上网查了很多办法,但很多都不凑效, ...

最新文章

  1. Android系统源码导入Android studio
  2. IBATIS错误汇总
  3. 云服务器 与本地文件传输,云服务器 与本地文件传输
  4. Java接口回调机制
  5. edittext无法获取焦点_小黑鞋强势回归,用帅气拉回时尚焦点
  6. pringMVC“Ambiguous mapping found. Cannot map 'XXXController' bean method”解决方法
  7. [html] 网站如何自适应手机屏幕
  8. Sengled Snap带摄像头的智能灯泡
  9. some tools
  10. redis zset怎么排序_关于Redis(一)
  11. 【MFC开发(15)】进度条控件Progress Control
  12. 基础算法|Java递归算法练习
  13. SEM测试主要测什么元素
  14. 服务器价格指导 7月四路机架产品选购
  15. 关于原子的电子组态、谱项和精细结构
  16. matlab 水箱fuzzy,matlab中使用fuzzy工具箱
  17. jieba分词原理 ‖ 关键词抽取
  18. debezium集成Oralce攻略(上)
  19. 年薪3亿的微信之父,在任何事情上都追求极致,怎么做到的?
  20. ClickHouse settings final

热门文章

  1. Mac开启或关闭SIP
  2. java 模拟时钟程序_java模拟时钟程序
  3. 文明4 玩家原创全面攻略
  4. ppt文件里面如何插入页脚
  5. 炉石传说一直显示重新连接服务器,《炉石传说》:每次更新完之后一直卡在登录界面就是进不去...
  6. 【工具】各种图中各种图形都代表什么含义
  7. PCB板材基础知识及层压结构(内附视频)
  8. 《阿凡达:水之道》售票开启,9.9元抢980元电影卡!全国影院通用!
  9. 我叫mt4服务器维护时间,我叫mt4日常几点更新?日常任务刷新时间介绍[图]
  10. a16z 游戏投资人:游戏制作人获得资金的多种途径