API Windows désactiver option de menu
Bonjour,
Je suis en train de sécher sur la désactivation d'une option de menu d'une appli que j'essaye de piloter. Le but est d'empêcher l'utilisateur de quitter cette appli.
Etape 1 : Récupérer le handle de l'appli par son nom. OK
Etape 2 : Désactiver la croix de fermeture (cela fonctionne grâce à un code de Jurassic Pork, merci à lui ;))
Etape 3 : Essayer de désactiver un item du menu. Pas d'erreur d'éxécution mais code inopérant.
Etape 4 : Rechercher le mot "Quitter" dans le menu. Là, plantage...
Code Etape 3 : On récupère le menu, le sous-menu et l'item du menu. Ensuite désactivation... Code inopérant
Code:
1 2 3 4 5 6 7 8 9 10 11
| hWnd = SysFenHandle("Calculatrice")
nMenu est entier sans signe
nSousMenu est entier sans signe
nIdItemSousMenu est entier sans signe
lpString est une chaîne
nMenu = API("USER32","GetMenu",hWnd)
nSousMenu = API("USER32","GetSubMenu",nMenu,0) // 1° sous menu
nIdItemSousMenu = API("USER32","GetMenuItemID",nSousMenu,1)// 2° item du sous menu
RetourFonction=API("USER32","EnableMenuItem",nIdItemSousMenu,0xF060,0x0011) |
Code Etape 4: Suite du code précédent. lpSting doit récupérer la chaine de l'item spécifié, 10 est la taille de la chaine, et 0x0000 est censée être l'option qui va bien (là, je n'ai pas tout compris, je crois)...
Code:
RetourFonction=API("USER32","GetMenuStringA",nSousMenu,nIdItemSousMenu,&lpString,10,0x0000)
Si quelqu'un a des pistes, merci d'avance...