Bonjour,
je cherche un moyen d'obtenir le NativeWindow handle (HWND) de toutes les fenêtres ouvertes par mon application ?
Merci
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).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
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;
}
Partager