Bonjour,
je cherche un moyen d'obtenir le NativeWindow handle (HWND) de toutes les fenêtres ouvertes par mon application ?
Merci
Version imprimable
Bonjour,
je cherche un moyen d'obtenir le NativeWindow handle (HWND) de toutes les fenêtres ouvertes par mon application ?
Merci
En natif, ça se ferait avec EnumWindows() et GetWindowThreadProcessId().
Ou avec EnumThreadWindows() si tu as un moyen simple d'énumérer les threads de ton processus (ou si tu considères que seul le "thread principal" peut ouvrir des fenêtres).
Voici un extrait de code qui recherche les instances d'une application Windows:
IntPtr class::GetPreviousInstance(void)
{
array<Process ^> ^instances = Process::GetProcessesByName(Process::GetCurrentProcess()->ProcessName);
if (instances->Length > 1)
{
Process ^proc;
for (int i=0; i<instances->Length;i++)
{
proc = safe_cast<Process ^>(instances[i]);
if (proc->MainWindowHandle != IntPtr::Zero)
break;
}
return proc->MainWindowHandle;
}
else
return IntPtr::Zero;
}