下午在网上闲逛发现了一段代码,

刷新桌面用的,当时觉得可以利用nsis现有命令再结合API来实现,翻了些资料,终于搞定,同时结合查找到的桌面句柄,写了一个隐藏桌面的小玩意娱乐下。


完整脚本:

!include nsDialogs.nsh
XPStyle on
ChangeUI all '${NSISDIR}\Contrib\UIs\sdbarker_tiny.exe'
Name 隐藏桌面

OutFile 隐藏桌面.exe

Page custom HideDesktop

Function HideDesktop
   nsDialogs::Create /NOUNLOAD 1018
Pop $0
${NSD_CreateButton} 40 60 70 40 "隐藏桌面"
pop $1
${NSD_OnClick} $1 OnButton
${NSD_CreateButton} 280 60 70 40 "显示桌面"
pop $1
   ${NSD_OnClick} $1 OnButton
   ${NSD_CreateLabel} 140 70 100% 100u "无聊制作,纯属恶搞。"
Pop $7
   nsDialogs::Show
FunctionEnd

Section ""
SectionEnd

Function OnButton
Pop $1 # HWND
FindWindow $4 "Progman" "Program Manager"
FindWindow $5 "SHELLDLL_DefView" "" $4 0
FindWindow $6 "SysListView32" "" $5 0
${NSD_GetText} $1 $3
${If} $3 == "隐藏桌面"
ShowWindow $6 0
${ElseIf} $3 == "显示桌面"
ShowWindow $6 1
${EndIf}
System::Call "user32.dll::PostMessage(i$6, i256, i0x74, i0)"
System::Call "user32.dll::PostMessage(i$6, i257, i0x74, i1)" #刷新下桌面
FunctionEnd

 

最新文章

  1. CodeForces 618A Slime Combining
  2. 小身材大用途,用PrimusUI驾驭你的页面
  3. 【转】当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
  4. 自己搭建云存储(WIFI路由器上接硬盘)
  5. ubuntu 使用adb shell命令识别android设备
  6. Floyd-Warshall算法的理解
  7. C# Attribute
  8. poj3159 Candies(差分约束)
  9. 让人恼火的经历——手机H5网页被注入广告
  10. Struts2总结优化登录与转发_02
  11. 20145237 《Java程序设计》第4周学习总结
  12. 异步任务spring @Async注解源码解析
  13. WebGl配置
  14. Go语言类型的本质
  15. Django-website 程序案例系列-10 cookie 和 session的应用
  16. 手机端的1px边框如何实现
  17. Datatables js 复杂表头 合并单元格
  18. UIKit Dynamic主题学习笔记
  19. 【读书笔记】iOS-网络-三种错误
  20. web.xml详细配置

热门文章

  1. 解决线程安全问题_同步方法和解决线程安全问题_Lock锁
  2. Docker非root用户使用
  3. Thingsboard硬网关金鸽BL102采集三菱PLC步骤
  4. Windows环境中Hadoop配置
  5. 鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机
  6. 论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
  7. Luogu1816 忠诚 (ST表)
  8. Redis安装及常用配置
  9. SwiftUI实战教程-土豆List
  10. windows10/11高性能模式开启