OVH Cloud OVH Cloud

probleme de structure ?

12 réponses
Avatar
Pierre BOUSQUET
Bonjour,

J'essai de récupérer les Handle des icones du systray, pour cela je
dois réaliser un SendMessage(hTray, TB_GETBUTTON, b, &tbut) ou &tbut
est un pointeur d'une structure :

TBBUTTON est une structure
iBitmap est un entier
idCommand est un entier
fsState est un caractère
fsStyle est un caractère
dwData est une entier sur 4 octets sans signe
iString est une entier sur 4 octets sans signe
FIN

dont la définition est issue de msdn :

typedef struct _TBBUTTON {
int iBitmap;
int idCommand;
BYTE fsState;
BYTE fsStyle;
#ifdef _WIN64
BYTE bReserved[6] // padding for alignment
#elif defined(_WIN32)
BYTE bReserved[2] // padding for alignment
#endif
DWORD_PTR dwData;
INT_PTR iString;
} TBBUTTON, NEAR *PTBBUTTON *LPTBBUTTON;


lorsque j'exécute le SendMessage(), j'ai une erreur 'explorer.exe' avec
plantage complet de la barre windows (biensur)

Je n'arrive pas à voir d'ou vient le problème

merci d'avance

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "

2 réponses

1 2
Avatar
patrice
"Pierre BOUSQUET" a écrit dans le message de
news:
si j'ai bien compris il me faudrait allouer de la mémoire dans le
processus du Tray, donc

lpData > API("KERNEL32","VirtualAllocEx",hTray,Null,Dimension(tbut),4096,4)




oui, sinon le pointeur vers le tbut pointera vers une adresse du process de
l'appelant au lieu de celui du tray

par contre pour le dimension(tbut) je la mettrais en constante (5x4)
Avatar
Pierre BOUSQUET
effectivement le problème venait de l'allocation de mémoire vers le
processus 'explorer'

ca marche nickel

merci à tous pour votre aide

patrice a formulé ce lundi :
"Pierre BOUSQUET" a écrit dans le message de
news:
si j'ai bien compris il me faudrait allouer de la mémoire dans le
processus du Tray, donc

lpData >> API("KERNEL32","VirtualAllocEx",hTray,Null,Dimension(tbut),4096,4)




oui, sinon le pointeur vers le tbut pointera vers une adresse du process de
l'appelant au lieu de celui du tray

par contre pour le dimension(tbut) je la mettrais en constante (5x4)



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
1 2