Even een korte vraag:
Ik ben nu bezig met enumwindows en enumchildwindows, en probeer als oefening van alle windows alle childwindows d.m.v. cout op het scherm te printen. Ik weet hoe ik enumwindows moet gebruiken, en ook hoe ik enumchildwindows moet gebruiken, maar combineren wil niet lukken. Als voorbeeldwindow heb ik hier iTunes genomen. Hij laat netjes alle vensters zien, en dan daaronder alleen de childwindows van itunes.
[cpp]
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
char buffer[256];
char buffer2[256];
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM LParam)
{
GetWindowText(
hwnd,
buffer,
sizeof(buffer));
cout << "Window name: " << buffer << endl;
return TRUE;
}
BOOL CALLBACK EnumChildProc(HWND hwnd2, LPARAM LParam)
{
GetWindowText(
hwnd2,
buffer2,
sizeof(buffer2));
cout << "Child window: " << buffer2 << endl;
return TRUE;
}
int main()
{
EnumWindows(EnumWindowsProc,0);
HWND hwnd = FindWindow(0, "iTunes");
EnumChildWindows(hwnd, EnumChildProc, 0);
cin.get();
}
[/cpp]
Ik wil de uitkomst van enumwindows, alle vensters dus, combineren met enumchildwindows, die in dit voorbeeld alleen met iTunes werkt. Kan iemand me in de juiste richting wijzen? De oplossing is vast voor de hand liggend, maar ik kom er niet uit
EDIT: Hij laat trouwens niet alle vensters zien, msn bijvoorbeeld staat er niet tussen en hetzelfde geldt voor firefox. Is daar ook een oplossing voor?
Ik ben nu bezig met enumwindows en enumchildwindows, en probeer als oefening van alle windows alle childwindows d.m.v. cout op het scherm te printen. Ik weet hoe ik enumwindows moet gebruiken, en ook hoe ik enumchildwindows moet gebruiken, maar combineren wil niet lukken. Als voorbeeldwindow heb ik hier iTunes genomen. Hij laat netjes alle vensters zien, en dan daaronder alleen de childwindows van itunes.
[cpp]
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
char buffer[256];
char buffer2[256];
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM LParam)
{
GetWindowText(
hwnd,
buffer,
sizeof(buffer));
cout << "Window name: " << buffer << endl;
return TRUE;
}
BOOL CALLBACK EnumChildProc(HWND hwnd2, LPARAM LParam)
{
GetWindowText(
hwnd2,
buffer2,
sizeof(buffer2));
cout << "Child window: " << buffer2 << endl;
return TRUE;
}
int main()
{
EnumWindows(EnumWindowsProc,0);
HWND hwnd = FindWindow(0, "iTunes");
EnumChildWindows(hwnd, EnumChildProc, 0);
cin.get();
}
[/cpp]
Ik wil de uitkomst van enumwindows, alle vensters dus, combineren met enumchildwindows, die in dit voorbeeld alleen met iTunes werkt. Kan iemand me in de juiste richting wijzen? De oplossing is vast voor de hand liggend, maar ik kom er niet uit

EDIT: Hij laat trouwens niet alle vensters zien, msn bijvoorbeeld staat er niet tussen en hetzelfde geldt voor firefox. Is daar ook een oplossing voor?
Laatst bewerkt: