Tôi có hai ứng dụng khác nhau, cả hai ứng dụng gốc được viết bằng C++ Builder 2009, cả MDI và cả hai đều sử dụng cùng một mã tiện ích thanh tiến trình. Một trong số họ cập nhật đúng thanh tác vụ Windows 7 với tiến trình của nó. Người kia thì không.Tiến trình thanh tác vụ của Windows 7 hoạt động trong một ứng dụng nhưng không khác
Tôi không thể tìm thấy bất kỳ sự khác biệt rõ ràng nào giữa hai ứng dụng. Không có lỗi nào được báo cáo trong ứng dụng không thành công: các cuộc gọi đến ITaskbarList3::SetProgressValue
và ITaskbarList3::SetProgressState
trả lại S_OK
, nhưng không có gì xảy ra trong thanh tác vụ của Windows 7.
Có bế tắc nào trong việc có thanh tiến trình thanh tác vụ Windows 7 hoạt động không? Bất kỳ yêu cầu nào mà tôi có thể bị thiếu?
Chúng có đang chạy trên cùng một máy không? Bạn không đề cập đến điều đó. Nếu không, một máy có sử dụng các biểu tượng nhỏ cho thanh tác vụ và các biểu tượng lớn khác không? Bạn chỉ nhận được các lớp phủ (bao gồm cả thanh tiến trình) với các biểu tượng lớn. –
@Kate: Có, chúng đang chạy trên cùng một máy và cả hai đều sử dụng các biểu tượng thanh tác vụ lớn. –
Mã tiện ích này có nằm trong cùng một phần của cả hai ứng dụng của bạn hoặc có bất kỳ sự khác biệt nào (thậm chí là nhỏ nhất) không? Vì bạn đã đề cập rằng cả hai ứng dụng đều là MDI, hãy thử theo dõi đường dẫn mà các thông báo cửa sổ để cập nhật tiến trình phải đi trong cả hai trường hợp. Tôi đoán rằng trong trường hợp ứng dụng không hoạt động như dự định, các thông báo cập nhật tiến trình sẽ không nhận được vòng lặp tin nhắn chính (ứng dụng). Đây là, tuy nhiên, chỉ là một đoán, vì tôi không có kinh nghiệm thực tế với chức năng này. – LightBulb