核心代码

$hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]", "")
ControlHide($hwnd, "", "TrayShowDesktopButtonWClass1");隐藏按钮
ControlShow($hwnd, "", "TrayShowDesktopButtonWClass1");显示按钮

  

RemoveShowDesktopButton.exe软件代码

#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Icon=蓝点lilac.ico
#PRE_Outfile=RemoveShowDesktopButton_x32.exe
#PRE_Outfile_x64=RemoveShowDesktopButton_x64.exe
#PRE_Compression=4
#PRE_Compile_Both=y
#PRE_Res_Comment=RemoveShowDesktopButton
#PRE_Res_Description=移除显示桌面按钮
#PRE_Res_Fileversion=1
#PRE_Res_LegalCopyright=copyright?2019 蓝点lilac
#PRE_Res_requestedExecutionLevel=None
#PRE_Res_Field=LegalTrademarks|蓝点lilac
#PRE_Res_Field=CompanyName|蓝点lilac
#Obfuscator_Parameters=/cs=1 /cn=1 /cf=1 /cv=1 /sf=1 /sv=1 /sci=1
#EndRegion ;**** 参数创建于 ACNWrapper_GUI **** $g_szVersion = "RemoveShowDesktopButton"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion) #include <Constants.au3>
Opt("TrayMenuMode", 3) $hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]", "")
Local $iPath = EnvGet("APPDATA") & "\BluePointLilac\RemoveShowDesktopButton\"
If @ScriptFullPath =$iPath & "RemoveShowDesktopButton.exe" Then
ControlHide($hwnd, "", "TrayShowDesktopButtonWClass1")
TraySetState(1)
TraySetState(2)
Exit
EndIf Example()
Func Example()
Local $iRunMenu = TrayCreateMenu("启动项")
Local $iRun = TrayCreateItem("开机自启动",$iRunMenu)
TrayCreateItem("",$iRunMenu)
Local $iBack = TrayCreateItem("启动后退出",$iRunMenu)
TrayCreateItem("")
Local $iHide = TrayCreateItem("隐藏按钮")
TrayCreateItem("")
Local $iShow = TrayCreateItem("显示按钮")
TrayCreateItem("")
Local $iExit = TrayCreateItem("退出") TraySetState(1) ; Show the tray menu.
TraySetToolTip("移除显示桌面按钮" & Chr(10) & "作者:蓝点lilac") Local $iBoot = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "RemoveShowDesktopButton") If FileExists($iBoot) Then
TrayItemSetState($iRun, $TRAY_CHECKED)
TrayItemSetState($iBack,$TRAY_ENABLE)
If $iBoot =$iPath & "RemoveShowDesktopButton.exe" Then
TrayItemSetState($iBack, $TRAY_CHECKED)
Else
TrayItemSetState($iBack, $TRAY_UNCHECKED)
EndIf
Else
TrayItemSetState($iRun, $TRAY_UNCHECKED)
TrayItemSetState($iBack,$TRAY_DISABLE)
EndIf TraySetClick(8) ; Show the tray menu when the mouse if hovered over the tray icon.
While 1
Switch TrayGetMsg()
Case $iHide
ControlHide($hwnd, "", "TrayShowDesktopButtonWClass1")
TraySetState(2)
TraySetState(1)
Case $iShow
ControlShow($hwnd, "", "TrayShowDesktopButtonWClass1")
TraySetState(2)
TraySetState(1)
Case $iRun
If TrayItemGetState($iRun)=68 Then
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "RemoveShowDesktopButton", "REG_SZ", @ScriptFullPath)
TrayItemSetState($iRun, $TRAY_CHECKED)
TrayItemSetState($iBack, $TRAY_ENABLE)
ElseIf TrayItemGetState($iRun)=65 Then
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "RemoveShowDesktopButton")
TrayItemSetState($iRun, $TRAY_UNCHECKED)
TrayItemSetState($iBack, $TRAY_DISABLE)
TrayItemSetState($iBack, $TRAY_UNCHECKED)
EndIf Case $iBack
If TrayItemGetState($iBack)=68 Then
TrayItemSetState($iBack, $TRAY_CHECKED)
FileCopy(@ScriptFullPath, $iPath, 9)
FileMove($iPath & @ScriptName,$iPath & "RemoveShowDesktopButton.exe",1)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "RemoveShowDesktopButton", "REG_SZ", $iPath & "RemoveShowDesktopButton.exe")
ElseIf TrayItemGetState($iBack)=65 Then
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "RemoveShowDesktopButton", "REG_SZ", @ScriptFullPath)
TrayItemSetState($iBack, $TRAY_UNCHECKED)
FileDelete($iPath & "RemoveShowDesktopButton.exe")
EndIf
Case $iExit
ExitLoop
EndSwitch
WEnd
EndFunc

  

  

移除任务栏右端"显示桌面"按钮-AutoIt的更多相关文章

  1. Windows7下4种方式快速显示桌面

    1.Windows键+D快捷键直接显示桌面: 2.鼠标移到任务栏右下角直接显示桌面: 3.Windows键+空格快捷键显示桌面: 4.任务栏鼠标右键,选择“显示桌面”.

  2. Windows XP解决显示桌面图标消失的问题

    1.依次单击“开始”,“运行”,在运行对话框中输入regsvr32 /n /i:u shell32.dll,按回车键 2.弹出“shell32.dll中的DllInstall成功”的窗口,表明已将数据 ...

  3. Ubuntu快速显示桌面的方法

    在Ubuntu环境下,按下Ctrl+D就能最小化所有窗口,立刻显示桌面,类似xp下的显示桌面按钮功能.不过这是需要经过快捷键设置的.以下是设置方法: 1.找到"系统设置" 2.进入 ...

  4. linux显示桌面快捷键设置

    2013-01-06 10:31:52    Ubuntu显示桌面Indicator  IN: LINUX :-) HOT: 1,246 ℃  18十2011   www.2cto.com   大家一 ...

  5. 黄聪:windowss7显示桌面图标设置在任务栏的解决办法

    1.新建一个本文文档,将以下内容复制进去: [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop 2.将该 ...

  6. CENTOS7 添加自定义快捷键(启动TERMINAL,显示桌面等)

    centos7中不自带启动终端的快捷键,可以自定义添加. 点击右上角的用户名,点击设置,在设置面板点击键盘,选择快捷键选项卡进入快捷键设置界面. 点击“+”添加快捷键.名称自定义(如"启动终 ...

  7. Excel在任务栏中只显示一个窗口的解决办法

     Excel在任务栏中只显示一个窗口的解决办法  以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿, ...

  8. C#使用系统的“显示桌面”功能(Shell.Application)

    原文 C#使用系统的“显示桌面”功能(Shell.Application) 在 Windows 系统的 任务栏 上的 快速启动栏 里,通常有一个图标  ,点击这个图标,就会切换到桌面.这个图标实际是一 ...

  9. iOS7之后经过滑动返回导航栏隐藏和显示带来的坑(转载)

    iOS7之后经过滑动返回导航栏隐藏和显示带来的坑 Apple 自从iOS7之后增加了屏幕边缘右滑返回交互的支持,再配合UINavigationController的交换动画,pop上一级的操作变的非常 ...

  10. Lodop条形码竖条和值右端不对齐的解决方法

    当Lodop条形码设置的宽度比较短,数值比较多的时候,会出现条码的竖条和右端不对齐.个人测试了一下,发现解决办法有三种:1.增加条形码的宽度.2.隐藏条码本身的值,用text文本代替.3.修改条形码下 ...

随机推荐

  1. C# 调用FFmpeg 合并视频和音频

    C#修改环境变量: string pathStr = System.Environment.GetEnvironmentVariable("Path", EnvironmentVa ...

  2. 时间序列数据库TSDB InfluxDB介绍

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  3. python包学习:-了解

    本节先做一些了解. numpy 参考:NumPy使用 NumPy 教程 NumPy是Python中科学计算的基础包.它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于 ...

  4. Win10 20H2 家庭版 环境变量

    20H2 家庭版设置环境变量,此电脑--->属性,弹出的是新版本的设置界面,选择左侧的"关于",在最右侧的"相关设置"里面,选择"高级系统设置& ...

  5. mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处理

    周末突然接到一位一年多没联系的妹妹打来电话,"刘哥,快来救救我",我脑海瞬间冒出妙瓦底,电信火苲马扁.....,当时就冒汗了,心想这个妹子怎么被... 问其原由,原来是他们公司服务 ...

  6. 痞子衡嵌入式:恩智浦i.MX RT1180系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT118x系列MCU的Boot配置. 痞子衡旧文 <RT四位数Boot简介> 里为大家介绍了 Boot 基 ...

  7. Linux iostat 命令详解

    Linux iostat 命令详解 在Linux系统管理中,监控磁盘I/O性能是一项至关重要的任务.iostat是sysstat包中的一个实用工具,用于监控和显示系统输入输出设备和CPU的使用情况.它 ...

  8. Whois 收集

    Whois 收集 Whois是什么 Whois(读作"Who is")是一个标准的互联网协议,主要用于查询域名的注册信息,包括域名所有人.注册商.注册时间.过期时间等详细信息.简单 ...

  9. [记录点滴]编译安装luarocks、luacheck、luautf8

    [记录点滴]编译安装luarocks.luacheck.luautf8 0x00 摘要 记录一次安装luarocks&第三方库的过程. 0x01 luarocks 如今每个语言体系中都有一个包 ...

  10. 『Python底层原理』--CPython如何运行Python代码

    Python作为一种广泛使用的编程语言,其简洁的语法和强大的功能深受开发者喜爱. 然而,对于许多Python用户来说,CPython(Python的官方实现)的内部工作机制仍然是一个神秘的黑盒. 今天 ...