我有两个不同的应用程序,都是用C++ Builder 2009编写的本地应用程序,MDI都使用相同的进度条实用代码。其中一个可以正确更新Windows7任务栏的进度。另一个没有。
我找不到这两个应用程序之间有任何明显的区别。失败的应用程序中不会报告错误:调用ITaskbarList3::SetProgressValueITaskbarList3::SetProgressState返回S_OK,但在Windows7任务栏中不会发生任何错误。
让Windows7任务栏的进度条工作有什么问题吗?我可能遗漏了什么要求?

最佳答案

我的问题很可能是针对Delphi/C++Builder的,是VCL如何处理顶层窗口的结果。
如果Application.MainFormOnTaskBar为真,则ITaskbarList3仅在Application.MainFormHandle用作hwnd参数时有效。
如果Application.MainFormOnTaskBar为false,则ITaskbarList3仅在Application.Handle用作hwnd参数时有效。
在我的例子中,一个项目MainFormOnTaskBar为真,另一个项目为假。

07-24 09:48
查看更多