Je dois capturer des fenêtres particulières du 3ème processus. Je peux trouver la poignée de la fenêtre principale comme processus.Mainwindowhandle, mais ce que je peux utiliser pour répertorier d'autres fenêtres? P>
J'utilise C # / .NET P>
4 Réponses :
the EnumChildWindows fonction pourrait vous aider en dehors. Les fenêtres enfants pourraient également avoir des enfants et ainsi de suite. P>
Il y a aussi GetWindow et < Un href = "http://msdn.microsoft.com/en-us/library/ms633495(vs.85).aspx" rel = "Nofollow Noreferrer"> EnumthreadWindows P>
Un autre message ici avec d'autres détails: obtenir des poignées à Toutes les fenêtres d'un processus p>
Merci pour ce nom - je fermera la question lorsque le problème sera résolu
Aplication 3ème partie a lancé d'autres fenêtres non comme vitres enfants. P>
Il est possible de savoir quelle est la structure à l'aide d'un outil spy ++ fourni avec Visual Studio. P>
Après cela, j'ai pu trouver la fenêtre nécessaire à l'aide de la fonction Findwindowex à l'aide de WindowClassName (prise de SPY ++): LastWindows = FindWindowex (intPtr.zero, lastwindows, M.WindowClassName, NULL); P>
Utilisez l'API Enumwindows ( et si vous voulez EnumChildWindows ) Vérifiez quel processus chaque fenêtre appartient à l'aide de l'API Win32 GetWindowThreadProcessid P> [DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)]
public static extern int GetWindowThreadProcessId(HandleRef handle, out int processId);