删除任务栏上的 Google Chrome 固定图标

2023-11-30

我想删除任务栏上的 Google Chrome 固定图标。卸载不会删除图标。我修改了代码以仅删除 Google Chrome.lnk。我想要做的(了解 VBS)是循环遍历所有用户文件夹,而不仅仅是当前用户,我认为当前用户定义为strCurrentUserAppData。我想用此代码实现的另一个愿望是将其与 SCCM 一起使用来执行 Chrome 的全新安装。我安装的是x64版本,需要更换为x86版本。当我使用企业 MSI 进行卸载时,它会留下固定图标。如果我使用bat从目录中删除图标,lnk会被删除,但任务栏上会留下一个白皮书图标。到目前为止,这是唯一可用于删除固定图标的代码。

Option Explicit

Const CSIDL_APPDATA = &H1A

Dim objShell
Dim objFolder
Dim objFolderItem
Dim objVerb
Dim objCurrentUserAppData
Dim strCurrentUserAppData
Set objShell = CreateObject("Shell.Application")
Set objCurrentUserAppData = objShell.NameSpace(CSIDL_APPDATA)
strCurrentUserAppData = objCurrentUserAppData.Self.Path



'===================''==================='
' - Remove All Pinned Items -
'===================''==================='


Set objFolder = objShell.Namespace(strCurrentUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")


For Each objFolderItem in objFolder.Items
    'WScript.Echo objFolderItem
    If objFolderItem = "Google Chrome" then
        For Each objVerb in objFolderItem.Verbs
            If Replace(objVerb.name, "&", "") = "Unpin from Taskbar" Then objVerb.DoIt
        Next
    End if
Next

即使重新启动后,我运行的批量代码仍然不会删除图标。

taskkill /im chrome.exe /f /t
taskkill /im GoogleUpdate.exe /f /t
taskkill /im GoogleCrashHandler.exe /f /t
taskkill /im GoogleCrashHandler64.exe /f /t
taskkill /im GoogleUpdateBroker.exe /f /t
taskkill /im GoogleUpdateHelper.msi /f /t
taskkill /im GoogleUpdateOnDemand.exe /f /t
taskkill /im GoogleUpdateSetup.exe /f /t
taskkill /im chrmstp.exe /f /t

MsiExec.exe /X{3EDA268B-C905-37D1-89DF-7049B39FB069} /q/n

MsiExec.exe /X{6A21C1E8-DAC1-3C18-BCDC-2DBB4B352AD8} /q/n

rem app files
rd "%userprofile%\AppData\Local\Google" /s/q
rd "C:\Users\Default\AppData\Local\Google" /s/q
rd "\Google" /s/q
rd "%PROGRAMFILES%\Google" /s/q
rd "%PROGRAMFILES(X86)%\Google" /s/q

rem desktop shorcuts
del "%PUBLIC%\Desktop\Google Chrome.lnk" /q
del "%userprofile%\Desktop\Google Chrome.lnk" /q

rem start menu folders
rd "%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Google Chrome" /s/q
rd "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Google Chrome" /s/q

rem pinned items
del "%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\Google Chrome*.lnk" /q
del "%userprofile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Google Chrome*.lnk" /q

taskkill /f /im explorer.exe
start explorer.exe

尝试这个混合代码(Vbscript/PowerShell):

Option Explicit
Dim Title,Ws,ByPassPSFile,AppPath,Example,PSFile,MyCmd,Result,MyArray,MyApp,FolderPath,fso
Title = "UnPin application from Taskbar on Windows 7 by Hackoo"
Set Ws = CreateObject("wscript.Shell")
Set fso = Createobject("Scripting.FileSystemObject")
PSFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "ps1"
ByPassPSFile = "cmd /k PowerShell.exe -ExecutionPolicy bypass -noprofile -file "
Example = "C:\Program Files\Google\Chrome\Application\Chrome.exe "
AppPath = InputBox("Enter the path of your application in order to unpin it from the taskbar " & vbcr & "Example : " & vbcr & Dblquote(Example) & "",Title,Example)
If AppPath = "" or IsEmpty(AppPath) Then Wscript.Quit()
MyArray = Split(AppPath,"\")
MyApp = MyArray(UBound(MyArray))
FolderPath = fso.GetParentFolderName(AppPath)
MyCmd = "$sa = new-object -c shell.application" & VbCrlF
MyCmd = MyCmd & "$FolderPath = "& DblQuote(FolderPath) & VbCrlF
MyCmd = MyCmd & "$pn = $sa.namespace($FolderPath).parsename('"& MyApp &"')" & VbCrlF
MyCmd = MyCmd & "$pn.invokeverb('taskbarunpin')"
Call WriteMyPSFile(MyCmd)
Result = Ws.run(ByPassPSFile & PSFile,1,True)
'**********************************************************************************************
Sub WriteMyPSFile(strText)
Dim fs,ts,PSFile
Const ForWriting = 2
    PSFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "ps1"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set ts = fs.OpenTextFile(PSFile,ForWriting,True)
    ts.WriteLine strText
    ts.Close
End Sub
'**********************************************************************************************
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************

编辑:2015年6月22日:UnPinfromTaskBarHiddenConsole.vbs

Option Explicit
Dim Title,Ws,ByPassPSFile,AppPath,Example,PSFile,MyCmd,Result,MyArray,MyApp,FolderPath,fso
Title = "UnPin application from Taskbar on Windows 7 by Hackoo"
Set Ws = CreateObject("wscript.Shell")
Set fso = Createobject("Scripting.FileSystemObject")
PSFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "ps1"
ByPassPSFile = "cmd /c PowerShell.exe -ExecutionPolicy bypass -noprofile -file "
Example = "C:\Program Files\Google\Chrome\Application\Chrome.exe "
AppPath = InputBox("Enter the path of your application in order to unpin it from the taskbar " & vbcr & "Example : " & vbcr & Dblquote(Example) & "",Title,Example)
If AppPath = "" or IsEmpty(AppPath) Then Wscript.Quit()
MyArray = Split(AppPath,"\")
MyApp = MyArray(UBound(MyArray))
FolderPath = fso.GetParentFolderName(AppPath)
MyCmd = "$sa = new-object -c shell.application" & VbCrlF
MyCmd = MyCmd & "$FolderPath = "& DblQuote(FolderPath) & VbCrlF
MyCmd = MyCmd & "$pn = $sa.namespace($FolderPath).parsename('"& MyApp &"')" & VbCrlF
MyCmd = MyCmd & "$pn.invokeverb('taskbarunpin')"
Call WriteMyPSFile(MyCmd)
Result = Ws.run(ByPassPSFile & PSFile,0,True)
MsgBox "The Unpin of " & DblQuote(MyApp) & " from the taskbar is done !",VbInformation,Title
'**********************************************************************************************
Sub WriteMyPSFile(strText)
Dim fs,ts,PSFile
Const ForWriting = 2
    PSFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "ps1"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set ts = fs.OpenTextFile(PSFile,ForWriting,True)
    ts.WriteLine strText
    ts.Close
End Sub
'**********************************************************************************************
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除任务栏上的 Google Chrome 固定图标 的相关文章

  • 使用脚本清除 Internet Explorer 6.0 浏览历史记录

    我使用以下脚本删除 IE 7 0 中的浏览历史记录 RunDll32 exe InetCpl cpl ClearMyTracksByProcess 255 但现在我需要一个脚本来清除 IE 6 0 中的浏览历史记录 我收到一条错误消息 缺少
  • 批处理文件无法在条件语句中设置环境变量

    为什么 Windows 批处理文件输出以下内容Foo其次是Bar 而不是Baz echo off setlocal set Foo echo set Bar if 1 1 set Baz echo 我的系统 Microsoft Window
  • 最后一个参数中的正斜杠会导致批处理文件目录(“%~dp0”)的路径发生更改

    我正在学习如何在批处理脚本中使用参数 并最终创建了某种用于读取参数和设置参数的模板 echo off SetLocal EnableDelayedExpansion set needextra set errstat set noflag
  • VBScript 错误 5 尝试使用“System.Security.Cryptography.SHA512Managed”计算 sha512

    我正在尝试用 VBScript 编写一段代码来计算 给定文件的 SHA512 值 根据 MSFT 文档 SHA512Managed 对象的 ComputeHash 方法需要 字节数组作为输入 所以我使用ADODB读取输入文件 要计算 SHA
  • 使用脚本查找字符串长度的奇怪结果?

    我正在测试 unmeat 提交的这段代码这个问题 https stackoverflow com questions 21817684 batch get string length with special characters 肉叔叔引
  • 如何通过 DOS 批处理命令发送电子邮件?

    我在 DOS 中有一个批处理文件 可以进行一些检查 完成后我需要发送一封电子邮件 我在 interwebz 上找到了一些解决方案 但大多数都是第三方的 或者只是在 Outlook 中打开新邮件 我需要命令来发送完整的电子邮件 而无需任何人工
  • 排除批复制脚本中的文件夹

    我正在使用 U 盘上的批处理文件来备份我的照片 我使用以下命令 for r C x in jpg png gif do copy y x 我想排除邮件文件夹 WINDOWS 和 PROGRAM FILES 中的文件 有谁知道如何使用批处理文
  • 比较数组中的文件、从文本文件中删除行、函数、日志记录

    所以我创建了这两个数组 Approved Shares 和 Current Shares Reads Approvedshare txt and makes the txt file into an array public objFSO
  • 备份并上传到FTP服务器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谁能指导我一个脚本解决方案来备份目录并将其上传到 ftp 服务器 我最初正在寻找批处理脚本 但任何解决
  • Grep 批量 ping

    寻找一种更好的方法来做到这一点 而不是我习惯的 手动 方法 因为这是一个我必须定期经历的过程 我有一系列要 ping 的 IP 从10 0 1 15 to 10 0 50 15 第三个八位位组指的是物理位置 最后一个八位位组指的是该位置处的
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 批处理内无法识别“cscript”

    我需要调用一个调用 vbs 的 bat 当我从命令提示符运行 FindDir vbs 时没问题 但是当我尝试从 CallingVbs bat 调用它时 我收到错误消息 cscript 不被识别为内部或外部命令 我用来调用 vbs 的代码与
  • 为什么标签存在却提示“系统找不到指定的批次标签”?

    在 Windows XP 中运行批处理文件时 我发现随机出现的错误消息 系统找不到指定name of label的批次标签 标签当然存在 导致此错误的原因是什么 实际上 要实现这一点 你需要两个条件 批处理文件不得使用 CRLF 行结尾 您
  • 一个批处理文件如何获取另一个批处理文件的退出代码?

    我有两个批处理文件 task bat and runtask bat The runtask batcalls task bat我想要runtask bat获取退出代码task bat到一个变量中 这怎么可能做到呢 任务 bat echo
  • 运行程序并退出cmd窗口

    我想制作一个运行特定程序的批处理文件 然后命令窗口自行退出 我尝试了这个 因为我将创建该批处理文件的快捷方式 以便批处理文件位于根目录中 echo off program exe mainframe pkg exit 它可以工作 但黑色窗口
  • 批处理文件运行 npm start

    我有一个角度应用程序 可以使用命令启动npm start在控制台中 现在我想创建一个批处理文件 在启动时执行 npm install 这是我创建的批处理文件 前端 bat cd
  • 完美批量转发参数

    我有一个小的 python 脚本 args py import sys print sys argv 我怎样才能写一个 bat将所有参数转发给该脚本的包装文件 为了从测试中消除我的 shell 我将调用它 import subprocess
  • 在 VBA 中调用批处理文件无法正常工作

    我正在尝试创建一个可供其他人使用的程序 目前 我的文件位于目录中C Documents and Settings jpmccros Desktop test 该目录包含我的macro xlsm names bat 还有另一个子目录名为Dat
  • 如何在每个批处理脚本运行后清除变量?

    看来 由于我使用 SET 在批处理脚本中声明变量 如果我在 cmd 中运行多次 变量值将持续存在 除非我显式重置它们 我是否必须使用 setlocal 和 endlocal 来确保一次运行中的变量不会在不关闭 CMD 的情况下持续到另一次运
  • vbscript,查找文件名中的匹配项

    我是 vbscripting 新手 刚刚收到一项任务 要求我找到文件名中具有匹配字符串的 6 个文件 以便我可以将这些文件移动到不同的目录 我使用正则表达式模式 d 8 d 6 来查找文件名中的所有字符串 我将如何在目录中进行搜索并检查文件

随机推荐

  • Sympy:求解具有初始条件误差的微分方程

    SinceSympy版本 1 2 PythonSympy已经实现了在给定一些初始条件的情况下求解简单微分方程中的常数的能力 我试图测试此功能 但不断出现我不知道如何解决的错误 The 文档表示初始条件的格式如下 我尝试遵循实现该功能的实际拉
  • Java 和 SSH:维护连接

    目标 通过一个连接和多个会话或一个持久会话远程控制 ssh 服务器 问题 1 我目前使用 sshj 通过 SSH 进行一些远程控制 它运行良好 但我似乎无法让它正确处理提示 主机不提供真正的root权限 只提供sudo i 所以我需要先登录
  • 在android上模糊图像

    我想要模糊图像 我用过 public Bitmap mohu Bitmap bmpOriginal int hRadius int vRadius int width height r g b c a gry c1 a1 r1 g1 b1
  • 如何在 -(void)touchesMoved 期间仅调用一次方法?

    我在用 void touchesMoved每当我做某事enter特定的框架 在本例中是按钮的区域 我的问题是 我只希望它在我进入框架时做一些事情 not当我在框架内移动手指时 有谁知道我如何在框架内时仅调用一次方法 并且如果我在同一个 to
  • Delphi 使用可变参数列表调用 JNI 方法

    使用 Embarcadero 的 Jni api 单元 如何向需要它的 JNI 方法提供变量参数列表 例如 JNINativeInterface 的 CallStaticObjectMethodV 方法 清单 1 有一个 va list 类
  • 通过修改插件调用JEdtiable提交按钮

    解决方案 1 不使用 TinyMCE 如果您没有将 TinyMCE 与 JEditable 一起使用 请查看下面 Arman P 的帖子 解决方案 2 使用 TinyMCE 如果您使用 TinyMCE 那么不幸的是 Arman P s 方法
  • 获取自定义适配器中的项目列表

    那么 我有一个扩展 ArrayAdapter 的自定义适配器 我想从适配器内获取整个列表 可以这样做吗 我知道在 ArrayAdapter 构造函数中 您传入对象列表并将其存储为 mObjects 但该列表是私有的 我想在构造函数中的自定义
  • Python 2.7 中具有多个函数参数的多重处理

    我正在尝试实现多处理来加速复制循环 但无法让它在 Python27 中工作 这是我的程序的一个非常简化的版本 基于 SO 的文档和其他答案 例如用于多个参数的 Python multiprocessing pool map 我意识到关于多处
  • 使用 JQuery 获取图像的真实尺寸

    给定图像路径列表 如何迭代它们并找到实际的图像尺寸 我假设我必须将它们插入没有宽度或高度属性的 DOM 中 并对它们执行 width 和 height var paths path image png somewhere page jpg
  • 内存映射文件 java NIO

    我了解如何创建内存映射文件 但我的问题是在下面一行中说 FileChannel roChannel new RandomAccessFile file r getChannel ByteBuffer roBuf roChannel map
  • include_next 预处理器指令导致 MSVC 中出现问题

    我知道 inlcude next 恰好是 C 预处理器的 GNU 扩展 我在使用 MSVC 编译 Gnu 库代码时遇到问题 例如 有一个 stdio h 头文件或者更确切地说GNU like
  • Java / NetBeans - 如何进入 jar 文件?

    我在 Netbeans 中有一个 Java 项目 其属性的库部分列出了几个 jar 文件 我在其中一个 jar 文件中发现了一个错误 我想在调试时介入它 这是我到目前为止所做的 我已经找到了源代码 jar 文件 我将该源代码作为一个项目打开
  • 本地运行SAM时如何连接RDS实例?

    我正在使用 SAM 无服务器应用程序模型 在本地测试连接到云中的 Aurora RDS 实例的 Lambda 函数 使用以下命令 sam local invoke lambda function name event event json
  • 如何使用webp图片并支持safari

    由于压缩效果更好 我尝试在整个网站中使用 webp 图像 不过我知道 safari 不支持 webp 图像是使用加载的background image url img img webp 然后我应用其他background特性 我明白了
  • 在c中使用逗号运算符

    我读过逗号运算符用于分配表达式 并将正确的表达式提供给左值 但是为什么这个程序在不使用括号的情况下将左表达式分配给左值呢 我正在使用 Turbo C 编译器 int b 2 int a a b 2 b 5 prints 10 as expe
  • lua代码反混淆

    我最近下载了一些 lua 代码 我发现里面有一些混淆的字符串 这让我想知道那里使用了什么样的混淆技术 有人有想法吗 local code 27 76 117 97 81 0 1 4 4 4 8 0 64 0 0 0 64 67 58 92
  • Swift macOS 弹出窗口检测更改暗模式

    从图像中可以看出 我有一个弹出窗口 我必须确保当屏幕模式发生变化 深色模式或浅色模式 时 弹出窗口的颜色会发生变化 颜色取自资源 如下所示 NSColor named backgroundTheme withAlphaComponent 1
  • 在 Project Reactor 中处理数据的最佳方法

    在项目反应器中处理数据的最佳方法是什么 使用平面地图 public Mono
  • 旋转 MKMapView 的内容

    我需要根据罗盘值旋转mapView的内容 float myHeadingValue newHeading trueHeading 为了旋转地图 我使用这个 mapView setTransform CGAffineTransformMake
  • 删除任务栏上的 Google Chrome 固定图标

    我想删除任务栏上的 Google Chrome 固定图标 卸载不会删除图标 我修改了代码以仅删除 Google Chrome lnk 我想要做的 了解 VBS 是循环遍历所有用户文件夹 而不仅仅是当前用户 我认为当前用户定义为strCurr