Salut,
J'essaie en ce moment de récupérer des informations sur les boutons qui sont dans la barre des taches. Mais ça provoque un crash de mon explorateur
Je fais d'abord ceci pour récupérer le handle de la taskbar "hToolbar"
Ensuite si je veux faire le compte du nombre de bouton je fais simplement un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 HWND hDesktop = GetDesktopWindow(); HWND hTray = FindWindowEx( hDesktop, 0, "Shell_TrayWnd", NULL); HWND hReBar = FindWindowEx( hTray, 0, "ReBarWindow32", NULL); HWND hTask = FindWindowEx( hReBar, 0, "MSTaskSwWClass", NULL); HWND hToolbar = FindWindowEx( hTask, 0, "ToolbarWindow32", NULL);
ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int count = SendMessage(hToolbar,TB_BUTTONCOUNT,0,0); wxString buffer = "il y a " +wxString::Format("%d",count) + "boutons"; wxMessageBox(buffer,"message");
Mais lorsque je veux lister les informations relatives aux boutons ça plante:
Pourtant j'ai jeté un œil sur plusieurs site et c'est comme ça qu'est présenté la chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 TBBUTTON tb_btn; SendMessage(hToolbar,TB_GETBUTTON,5,(LPARAM)&tb_btn); for(int i=0; i<count; ++i) { SendMessage(hToolbar,TB_GETBUTTON,i,(LPARAM)&tb_btn); // Plantage ici !!! /*SendMessage(hToolbar,TB_GETBUTTONTEXT,tb_btn.idCommand,(LPARAM)buffer); MessageBox(NULL,buffer,"Message",MB_OK);*/ }
ex:
http://www.codeproject.com/KB/shell/taskbarsorter.aspx
plus généralement
http://msdn2.microsoft.com/en-us/lib...42(VS.85).aspx
Je précise que j'utilise Mingw avec la dernière version de de l'api win32
Partager