- quand un élement est selectionner, j'aimerai voir si cet element est une windows , ou un objet avec un style WS_CHILD
-
- je fais donc
- [green]
- while (iResult)
- {
-
- if(GetAsyncKeyState(VK_LBUTTON) && GetAsyncKeyState(VK_LBUTTON)) //<<permet de recuple click gauche de la sourie
- {
- GetCursorPos(&pCursor);
- iResult = 0;
- hWindow = WindowFromPoint(pCursor);
- GetWindowText(hWindow, sTitle, 400);
- GetClassName(hWindow, sClass, 400);
-
- }
-
-
- }
-
- strcpy(MainsClass,sClass); //<<<<en global
- HwndDest=FindWindow(sClass,sTitle);
- HwndCatchFromPoint=hWindow;
- [/green]
- maintenant que j'ai mon HWND d'un element selectionner, je verif si c une windows en fonction du titre et du nom de la class
-
- if (IsWindow(HwndDest)==0)
- {....}
- si c égale a 0 c ke cela n'en est pas une donc
-
- c'est un objet, button, listview,etc.... il appartient donc a une fenetre parente GetParent ne suffit pas toujours, j'ai testé
-
-
-
-
- pour cela je fais un EnumWindows dans le but , k'il enumere toutes les fenetres, et j'enumere les enfants en meme temps:
- ca donne ca:
- [green]
- EnumWindows(EnumWindowsProc,0);
- ....
- ....
-
- BOOL CALLBACK EnumWindowsProcChild(HWND hwnd,LPARAM lParam)
- {
- char szClass[128];
- GetClassName(hwnd, szClass, 128);
-
- if (strcmp(MainsClass,szClass)==0){
- if(HwndCatchFromPoint==hwnd)
- {
- HwndTest=hwnd ;
-
- }
-
- }
-
- return true;
- }
- BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
- {
-
- char szClass[128];
- GetClassName(hwnd, szClass, 128);
- EnumChildWindows(hwnd,EnumWindowsProcChild,0);
- if(IsChild(hwnd,HwndTest)!=0){
- if (IsWindow(hwnd)!=0)
- {
- if (IsWindowVisible(hwnd)!=0)
- {
-
- HwndDest=hwnd;
- ShowWindow(HwndDest,SW_HIDE);
-
- }
- }
- }
-
- return true;
- }
- [/green]
-
- voila c tout
quand un élement est selectionner, j'aimerai voir si cet element est une windows , ou un objet avec un style WS_CHILD
je fais donc
[green]
while (iResult)
{
if(GetAsyncKeyState(VK_LBUTTON) && GetAsyncKeyState(VK_LBUTTON)) //<<permet de recuple click gauche de la sourie
{
GetCursorPos(&pCursor);
iResult = 0;
hWindow = WindowFromPoint(pCursor);
GetWindowText(hWindow, sTitle, 400);
GetClassName(hWindow, sClass, 400);
}
}
strcpy(MainsClass,sClass); //<<<<en global
HwndDest=FindWindow(sClass,sTitle);
HwndCatchFromPoint=hWindow;
[/green]
maintenant que j'ai mon HWND d'un element selectionner, je verif si c une windows en fonction du titre et du nom de la class
if (IsWindow(HwndDest)==0)
{....}
si c égale a 0 c ke cela n'en est pas une donc
c'est un objet, button, listview,etc.... il appartient donc a une fenetre parente GetParent ne suffit pas toujours, j'ai testé
pour cela je fais un EnumWindows dans le but , k'il enumere toutes les fenetres, et j'enumere les enfants en meme temps:
ca donne ca:
[green]
EnumWindows(EnumWindowsProc,0);
....
....
BOOL CALLBACK EnumWindowsProcChild(HWND hwnd,LPARAM lParam)
{
char szClass[128];
GetClassName(hwnd, szClass, 128);
if (strcmp(MainsClass,szClass)==0){
if(HwndCatchFromPoint==hwnd)
{
HwndTest=hwnd ;
}
}
return true;
}
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
char szClass[128];
GetClassName(hwnd, szClass, 128);
EnumChildWindows(hwnd,EnumWindowsProcChild,0);
if(IsChild(hwnd,HwndTest)!=0){
if (IsWindow(hwnd)!=0)
{
if (IsWindowVisible(hwnd)!=0)
{
HwndDest=hwnd;
ShowWindow(HwndDest,SW_HIDE);
}
}
}
return true;
}
[/green]
voila c tout