问题:

因为某些特殊原因,需要在AD域用户登陆Window 桌面时,任务栏会自动隐藏,但是AD域策略并不提供对应的策略,于是需要写个bat文件,让域控服务器在用户登陆时会自动执行这条bat。

代码:

这段代码是在网上找的。经测验,可以使用。但是在(域策略下发成功后)用户第一次登陆时并不能成功自动隐藏任务栏,而是在注销用户或者重启计算机后,第二次登陆才能开始自动隐藏任务栏。

/*&cls
@echo off
set "netpath=%systemroot%\Microsoft.NET\Framework"
for /f "delims=" %%a in ('dir /ad /b "%netpath%\v?.*"') do (
     if exist "%netpath%\%%a\csc.exe" (
         set "cscpath=%netpath%\%%a\csc.exe"
         goto :0
     )
)
echo;未安装.Net Framework 2.0及其上版本组件或相关程序丢失&pause&exit
:0
if not exist "%tmp%\$TaskBarHider.exe" (
     "%cscpath%" /nologo /out:"%tmp%\$TaskBarHider.exe" "%~f0"
)
"%tmp%\$TaskBarHider.exe" h
pause&exit
*/
using System;
using System.Runtime.InteropServices;
class TaskBarHider
{
     public struct RECT
     {
         public int Left;
         public int Top;
         public int Right;
         public int Bottom;
     }
     public struct APPBARDATA
     {
         public int cbSize;
         public int hwnd;
         public int uCallbackMessage;
         public int uEdge;
         public RECT rc;
         public int lParam;
     }
     public const int ABS_ALWAYSONTOP = 0x002;
     public const int ABS_AUTOHIDE = 0x001;
     public const int ABM_SETSTATE = 0x00A;
 
     [DllImport("shell32.dll")]
     public static extern int SHAppBarMessage(int dwmsg, ref APPBARDATA app);
     [DllImport("user32.dll", EntryPoint = "FindWindow")]
     public static extern int FindWindow(string lpClassName, string lpWindowName);
 
     public static void SetAppBarAutoDisplay(bool IsAuto)
     {
         APPBARDATA abd = new APPBARDATA();
         abd.hwnd = FindWindow("Shell_TrayWnd", "");
         if (IsAuto)
         {
             abd.lParam = ABS_AUTOHIDE;
             SHAppBarMessage(ABM_SETSTATE, ref abd);
         }
         else
         {
             abd.lParam = ABS_ALWAYSONTOP;
             SHAppBarMessage(ABM_SETSTATE, ref abd);
         }
     }
     static void Main(string[] args)
     {
         bool sta=false;
         if(args.Length==0)
         {
             Console.WriteLine("$TaskBarHider.exe [s/h]  显示/隐藏任务栏");
         }
         else
         {
             if(args[0] == "h" || args[0] == "H"){sta=true;}
             SetAppBarAutoDisplay(sta);
         }
         
     }
}

转载于:https://blog.51cto.com/14101497/2337844

Windows自动隐藏任务栏bat脚本相关推荐

  1. linux 自动隐藏任务栏_如何自动隐藏Windows任务栏

    linux 自动隐藏任务栏 Every bit of monitor space is precious, particularly vertical space. But in Windows 10 ...

  2. MFC之系统任务栏 获取Windows桌面底部任务栏自动隐藏任务栏\取消自动隐藏任务栏 的消息

    由于需求,我需要获取Windows底部任务栏 自动隐藏任务栏或者取消自动隐藏任务栏时的消息. 可在当时我就在想想要在自己程序中获取系统的消息那肯定很麻烦,于是我就上网查了一遍不过这方面的介绍也似乎不是 ...

  3. Windows 7 自动隐藏任务栏 (auto-hide the taskbar)

    Windows 7 自动隐藏任务栏 (auto-hide the taskbar) 1. 右键任务栏 -> 属性 -> 任务栏 -> 勾选 自动隐藏任务栏 -> 应用 1. r ...

  4. windows下之定时执行bat脚本

    前言 今天闲来无事,在自己windows上写了个bat脚本玩玩.写完了想定时跑一个,一想java中倒是有定时器,不过这不还得弄个项目写个定时任务??想了想系统应该有自带的可以跑的定时器吧,不然怎么设置 ...

  5. windows服务器上无法运行bat文件,Windows 2008任务计划执行bat脚本失败返回0x1的解决方法...

    测试环境: C:\>systeminfo | findstr /c:"OS Name" OS Name: Microsoft Windows Server 2008 R2 E ...

  6. 通过uc.js实现pc firefox页面向下滚动自动隐藏导航栏,复刻firefox移动版的丝滑体验

    页面向下滚动自动隐藏firefox导航栏 简述 firefox移动版有个滑动页面浏览时自动隐藏导航栏的功能,这个功能很机智,能够最大化的同时让你尽量无感.然后想在pc实现这个功能,搜了一下发现uc.j ...

  7. Windows 清理桌面图表缓存bat脚本

    Windows 清理桌面图表缓存bat脚本 rem 关闭Windows外壳程序explorertaskkill /f /im explorer.exe rem 清理系统图标缓存数据库 attrib - ...

  8. 在 Windows 系统下常用的 bat 脚本分享

    以网络配置举例说明,网络连接默认情况下都是 DHCP(自动获取 IP 和 DNS 地址) 模式,但很多情况下,需要我们设置为指定的静态 IP 和 DNS 地址.在 Windows 系统中通常我们都是在 ...

  9. win11任务栏图标闪烁|任务栏QQ图标闪动|新消息任务栏自动弹出|设置自动隐藏任务栏之后,QQ或微信等工具新消息自动弹出任务栏并颜色提示问题解决方案

    背景介绍: 今天正常使用电脑时也出现消息弹出问题(已经设置隐藏任务栏),很头疼那么时什么情况,该如何组去解决呢?(微信任务栏闪动未读消息) MyDockFinder    Windows 桌面美化工具 ...

最新文章

  1. java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期
  2. postman对象参数null_postman的几种参数格式
  3. java加密 des
  4. 史上最详细版Centos6安装详细教程
  5. 无线AP如何区分来宾(流动)用户和正常用户?
  6. string与char*的转换(转载)
  7. boost::movelib::default_delete相关用法的测试程序
  8. 6.824 MapReduce lab1 2020(一)
  9. 数学_同取对数(HDU_1060)
  10. python培训班靠谱吗-什么样的python培训机构靠谱?
  11. 【模板】负环(spfa)
  12. params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors 解决方法
  13. mysql服务器无法启动
  14. vCenter Server 6.x在同站中重新指向新外部 PSC
  15. 对现有计算机应用的建议,对计算机课程的建议
  16. 【Java】接口.案例.打印机
  17. Lambert (兰伯特)光照模型
  18. Linux Mint TLP设置
  19. yolov5l.pt下载
  20. pyecharts与mysql_pyecharts画图总结

热门文章

  1. 不带刀尖跟随的后处理
  2. MySQL数据库之单表查询--示例
  3. 跨境人必须了解:7种跨境电商营销推广理念
  4. Symbian 入门
  5. 哪些计算机语言算汇编语言,什么是计算机语言,汇编语言,高级语言.并举例说明....
  6. 数据结构:尾插法建立单链表
  7. html5试卷分数提交制作,如何制作一份高质量的试卷
  8. 应用中心”对不起,您的网站已被设置禁止下载此应用“完美解决办法
  9. 杭电计算机学院复试真题,2020杭州电子科技大学计算机学院考研复试公告
  10. 指定起终点的最短路算法-Dijkstra标号法及其改进