Bonjour,
Je cherche a recuperer le nom des menus de toutes les fenetres ouvertes de windows, mais j'ai quelques problemes avec tous les Handle.
voila ce que je fais :
void GetMenuName()
{
HWND hwnd = NULL;
int nProcessId;
char nameBuffer[WINBUFF_SIZE];
int nbr_menu = 0;
int nbr_submenu = 0;
HMENU menu = NULL;
HMENU submenu = NULL;
char menu_name[100];
long subcount = 0;
hwnd = GetTopWindow(hwnd);
while(hwnd)
{
GetWindowText(hwnd, nameBuffer, WINBUFF_SIZE);
nProcessId = GetWindowThreadProcessId(hwnd, NULL);
if (strcmp(nameBuffer, "") && IsWindow(hwnd) && IsWindowVisible(hwnd) && IsWindowEnabled(hwnd))
{
printf("%5d %s\n", nProcessId, nameBuffer);
menu = GetMenu(hwnd);
submenu = GetSubMenu(menu, 0);
subcount = GetMenuItemID(submenu, 0);
int nbr = GetMenuString(submenu, subcount, menu_name, 100, 1);
printf("%s\n", menu_name);
}
hwnd = GetNextWindow(hwnd, GW_HWNDNEXT);
}
free(nameBuffer);
}
Je recupere bien le nom de toutes mes fenetres mais impossible d'avoir le nombre et les noms des menus correspondant.
Avez vous une idee, voir une solution.
Merci a vous
Thib