- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在修改 Chocolatey包含 Uninstall-ChocolateyPinnedTaskBarItem
功能的脚本。
这与以下命令配合使用非常有效
# WORKS
Uninstall-ChocolateyPinnedTaskBarItem "$env:ProgramFiles\Internet Explorer\iexplore.exe"
但是它不起作用
# DOESN'T WORK
Uninstall-ChocolateyPinnedTaskBarItem "$env:SystemRoot\explorer.exe"
如何仅使用 Powershell 删除默认固定的“Library”文件夹?
这是卸载脚本。
function Uninstall-ChocolateyPinnedTaskBarItem {
<#
.SYNOPSIS
Removes an item from the task bar linking to the provided path.
.PARAMETER TargetFilePath
The path to the application that should be launched when clicking on the task bar icon.
.EXAMPLE
Uninstall-ChocolateyPinnedTaskBarItem "${env:ProgramFiles(x86)}\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
This will remove the Visual Studio task bar icon.
#>
param(
[string] $targetFilePath
)
Write-Debug "Running 'Uninstall-ChocolateyPinnedTaskBarItem' with targetFilePath:`'$targetFilePath`'";
if (test-path($targetFilePath)) {
$verb = "Unpin from Taskbar"
$path= split-path $targetFilePath
$shell=new-object -com "Shell.Application"
$folder=$shell.Namespace($path)
$item = $folder.Parsename((split-path $targetFilePath -leaf))
$itemVerb = $item.Verbs() | ? {$_.Name.Replace("&","") -eq $verb}
if($itemVerb -eq $null){
Write-Host "TaskBar verb not found for $item. It may have already been unpinned"
} else {
$itemVerb.DoIt()
}
Write-Host "`'$targetFilePath`' has been unpinned from the task bar on your desktop"
} else {
$errorMessage = "`'$targetFilePath`' does not exist, not able to unpin from task bar"
}
if($errorMessage){
Write-Error $errorMessage
throw $errorMessage
}
}
最佳答案
在偶然发现类似问题后,我的经验使我相信此问题仅发生在 Windows 8.x 中,恕我直言,这是一个错误。
tl;dr: 在注册表项 [HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}
下,添加注册表项 shellex\ContextMenuHandlers\{90AA3A4E-1CBA-4233-B8BB-535773D48449}
。
.reg 文件版本:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shellex\ContextMenuHandlers\{90AA3A4E-1CBA-4233-B8BB-535773D48449}]
免责声明:[HKEY_CLASSES_ROOT\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}]
是受 TrustedInstaller 保护的 key 。使用您的最佳判断。
以下是我实现这一目标的步骤:
为了开始诊断问题,我编写了这个函数来检索固定的 lnk 文件或(可选)lnk 文件的目标:
function Get-UserPinnedItems([switch]$Target)
{
$userPinnedPath = "$env:APPDATA\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar"
$shellApp = New-Object -ComObject 'Shell.Application'
$items = $shellApp.Namespace($userPinnedPath).Items() | where { $_.IsLink }
if ($Target)
{
return $items | foreach { $_.GetLink.Target }
}
$items
}
<小时/>
在 Windows 8.1 上使用 -Target 开关运行上述命令,我得到以下结果:
PS> Get-UserPinnedItems -Target
Application : System.__ComObject
Parent : System.__ComObject
Name : File Explorer
Path : ::{52205FD8-5DFB-447D-801A-D0B52F2E83E1}
GetLink :
GetFolder :
IsLink : False
IsFolder : False
IsFileSystem : False
IsBrowsable : False
ModifyDate : 12/30/1899 12:00:00 AM
Size : 0
Type : System Folder
请注意,路径为 ::{52205FD8-5DFB-447D-801A-D0B52F2E83E1}
。这显然是文件资源管理器的新 CLSID,但可用信息很少。在注册表(甚至互联网)中搜索该 guid 不会返回很多结果。在 Windows 7 上,我取回文件系统路径“C:\Windows\explorer.exe”,这就是为什么我认为这是 Win8 独有的问题。
现在,将项目固定/取消固定到任务栏由 IStartMenuPinnedList interface 处理其 CLSID {90AA3A4E-1CBA-4233-B8BB-535773D48449}。在注册表中搜索<em>this guid 会产生多个结果。大多数情况下,特定文件类型需要固定/取消固定功能。
因此,由于文件资源管理器缺少此功能,因此添加 ContextMenuHandler 似乎是一个好主意,而且果然,它就像一个魅力,至少对我来说是这样。 ymmv。如果它对其他人不起作用,也许它至少会提供一些线索。
<小时/>旁白:OP 指出固定的“Library”文件夹是问题所在。我认为这并不完全正确,因为固定项目具有文件资源管理器 CLSID {52205FD8-5DFB-447D-801A-D0B52F2E83E1} 而不是库 CLSID {031E4825-7B94-4dc3-B131-E946B44C8DD5}。
运行 Shell:::{031E4825-7B94-4dc3-B131-E946B44C8DD5}
时,始终打开 Libraries 文件夹,运行 Shell:::{52205FD8-5DFB-447D-801A- D0B52F2E83E1}
可能会打开库或此电脑文件夹,具体取决于用户是否启用了“显示库”选项。基于此,我会将帖子重命名为“文件资源管理器”而不是“库”。另外,我会说我正在使用哪个操作系统。
关于powershell - 如何使用 Powershell 从任务栏取消固定 "Library"文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18602424/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我们有一个应用程序,它显示一个小的“总在最上面”窗口。一般来说,这工作得很好。与其他应用程序一样,当它处于事件状态时,任务栏将其显示为已选中。 现在将幻灯片模式下的 PowerPoint 添加到组合中
我刚刚用 java-swing 为我写了一个桌面时钟,我希望每次登录时该时钟都运行。 为此,我将我的 jar 文件添加到 start 文件夹,我让时钟开始运行。 但我的问题是 - 任务栏中显示的图标允
有谁知道如何在任务栏中为程序设置自定义图标? 我知道您可以创建程序的快捷方式,以便在程序的左上角获取您想要的任何图标(引用下图),但如何让程序在任务栏中获取新图标? 最佳答案 任务栏中显示的图标是可执
我想知道任何类型的 API 或解决方法(例如脚本或注册表),以将 Windows 任务栏移动(或调整大小)到另一个位置,包括另一个显示器(如果是双显示器)。当然,我们可以使用鼠标移动任务栏,但我想通过
如标题所示,是否有任何 Win32 API 可以做到这一点? 最佳答案 不要这样做。 我 99% 确信没有官方 API,这与没有 programmatic access to the old Star
我正在编写一个小程序来解决与 16 位程序的兼容性问题。此修复是关闭 explorer.exe,因为 explorer 会覆盖程序中的某些调色板。之后,我们重新打开资源管理器。 当使用 .bat 文件
Windows 7 任务栏按钮绘制在阴影背景上。颜色阴影以某种方式对鼠标在按钮上的位置使用react。 我想在我的应用程序中使用这样的按钮。我该怎么做? 最佳答案 也许试试 绘制主题背景 http:/
我正在尝试创建一个由在一个窗口中运行的选项卡(而不是浏览器选项卡)组成的任务栏。 我需要跟踪每个选项卡中发生的事情,每个选项卡都有单独的面包屑。(为此,我想也许在每个选项卡的浏览器中使用一个 cook
我创建了没有任务栏的 WinCE 6.0 镜像。所以所有应用程序都最大化到全屏。我想创建自己的应用程序,如任务栏。我只想向这个任务栏添加几个按钮。但我希望其他处于最大化模式的应用程序不要隐藏此任务栏。
我是中级 jquery 经验,所以我需要一个很棒的界面演示的帮助: Demo 但我不知道为什么它不拖到具有相同 ID 的“#drophere”的其他 div。请让它像 Windows 任务栏一样工作。
我正在使用 JFrame 为桌面应用程序创建 GUI。我使用此代码根据平台屏幕的分辨率设置的 GUI 的大小。 this.setSize(this.getToolkit().getScreenSize
首先,我知道 SO 中有一个类似措辞的问题,但没有得到正确回答,围绕它的大部分讨论都落在了“你不应该那样做”上。 所以让我们从基础开始。为什么需要这个。 我在一家公司工作,该公司向我们的员工分发了几十
我想弄清楚如何在任务栏上显示进度。通过 PowerShell。 据我了解,我应该使用这样的东西: $Progress = [System.Windows.Shell.TaskbarItemInfo]:
是否可以从 Win7 任务栏捕获“实时”缩略图?我想在我的应用程序中显示此预览(另一个窗口的),但如何使用 .NET 提取这些预览? 最佳答案 是的。 MSDN Magazine explains h
我想在 C# 中模拟类似于 Windows 任务栏的东西。我想要一个表格底部的栏(我的意思是主表格)。当我打开新表格时,表格名称放在栏上,当我打开另一个新表格时,新表格名称放在栏上......另一方面
我使用 tabcontrols 创建了一个任务栏,它的工作方式与 Windows 任务栏类似。我想让我自己的任务栏固定在窗口的顶部。 它不应该是可移动的、可调整大小的,并且应该“停靠”到顶部。 最佳答
我们有一个主应用程序,它加载了几个插件,这些插件有自己的图标和子窗口。 问题出在 Windows 7 中,任务栏中的图标始终是主应用程序的图标,即使在子窗口中也是如此。但是,Alt+Tab 菜单会显示
我想为 Windows 制作一个二进制时钟。但我希望它替换默认时钟(有 2 个时钟不是最佳选择)。 因此,其中一种方法就是在旧时钟之上绘制我的二进制时钟。我怎么做?允许使用外部库。 我试过这样的东西:
为了简洁起见:我正在尝试实现 this使用 wxPython,但我正在努力将该代码放入基于 wxPython 的脚本中。 我的简单 PyQt 测试代码运行良好。这是: from PyQt4 impor
我是一名优秀的程序员,十分优秀!