No começo foi trabalhosso devido ao pacote do compilador não ter incluso os headers necessários e por eu não ter usado o CoInitialize() corretamente. Depois de muitas horas, tentativas e pesquisas descobri que não estava iniciando a biblioteca COM
Vamos dá uma olhada num exemplo e ver como implementar esse estilo em uma janela do bloco de notas aberta.
#include <windows.h> #include <shobjidl.h> const GUID my_IID_ITaskbarList3 = { 0xea1afb91, 0x9e28, 0x4b86, { 0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf } }; const GUID my_CLSID_TaskbarList = { 0x56fdf344, 0xfd6d, 0x11d0, { 0x95, 0x8a, 0x00, 0x60, 0x97, 0xc9, 0xa0, 0x90 } }; ITaskbarList3* ptbl = NULL; int main() { // inicia a biblioteca CoInitialize(NULL); // cria a instancia para a interface ITaskbarList3 CoCreateInstance(my_CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, my_IID_ITaskbarList3, (LPVOID*)&ptbl); // procura por uma janela do bloco de notas HWND hWindow = FindWindow("Notepad", NULL); ptbl->SetProgressState(hWindow, TBPF_ERROR); ptbl->SetProgressValue(hWindow, 40, 100); return 0; }
Recomendo o link onde o autor faz uma introdução de COM e explica o que é e como usar (texto em inglês).
Att, Gilson Fabiano.
Nenhum comentário:
Postar um comentário