什么可以防止TBPF_INDETERMINATE进度条显示在任务栏中?

lau*_*ent 1 c++ winapi taskbar windows-7 progress-bar

我正在尝试实现新的Windows 7任务栏进度条.我设法使用以下代码使其与TBPF_NORMAL状态一起工作:

CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&taskbarList));

HRESULT c = taskbarList->SetProgressState(hWnd, TBPF_NORMAL);
if (c != S_OK) MessageBox("ERROR");
taskbarList->SetProgressValue(hWnd, 5, 10);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用TBPF_INDETERMINATE尝试完全相同的代码,它不显示任何内容,也没有错误:

CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&taskbarList));

HRESULT c = taskbarList->SetProgressState(hWnd, TBPF_INDETERMINATE);
if (c != S_OK) MessageBox("ERROR");
Run Code Online (Sandbox Code Playgroud)

有谁知道可能导致这个问题的原因是什么?

lau*_*ent 7

好吧,看起来这是我系统配置的问题.我在这里发布答案,因为一个进度条动画可以工作而不是另一个是不明显的.

在系统属性/性能选项中,我禁用了"任务栏和开始菜单中的动画".此选项显然禁用"不确定"动画,但不禁用常规动画.通过重新启用该选项,不确定的动画可以正常工作.