我想弄清楚如何在任务栏上显示进度。通过 PowerShell。
据我了解,我应该使用这样的东西:
$Progress = [System.Windows.Shell.TaskbarItemInfo]::New()
$Progress.ProgressState = 'Normal'
$Progress.ProgressValue = 0.3
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。我究竟做错了什么?如何在任务栏上显示进度?感谢您
对于那些正在寻找答案的人。事实证明,.NET Framework 不支持在任务栏上显示进度。Windows 窗体也不支持此功能。现在支持WPF。
\n\n不过,有一个解决方案。该解决方案由 Ravikanth Chaganti 编写。https://www.ravichaganti.com/blog/programming-windows-7-taskbar-using-windows-api-code-pack-and-powershell/。为此,您需要下载并安装 WindowsAPICodePack 库(它适用于 Windows 7):
\n\n打开 PowerShell 并加载程序集
\n\n[Reflection.Assembly]::LoadFrom(\xe2\x80\x9cD:\\API\\Microsoft.WindowsAPICodePack.Shell.Dll\xe2\x80\x9d)
创建一个TaskBarManager实例
\n\n$TaskBarObject = [Microsoft.WindowsAPICodePack.TaskBar.TaskBarManager]::Instance
设置进度条状态
\n\n$TaskBarObject.SetProgressState(\xe2\x80\x9cNormal\xe2\x80\x9d)
这不是强制性的。然而,了解可能的值很重要。以下是每个进度条状态的含义:
\n\n无进度 \xe2\x80\x93 不显示进度条\n不确定 \xe2\x80\x93 进度不确定(选取框)\n正常 \xe2\x80\x93 显示正常进度\n错误 \xe2\x80\x93 错误发生(红色)\n已暂停 \xe2\x80\x93 操作已暂停(黄色)
\n\n设置进度条值
\n\n$TaskBarObject.SetProgressValue(50,100)
| 归档时间: |
|
| 查看次数: |
1257 次 |
| 最近记录: |