2010-02-17 4 views

Répondre

3

aplication 3e partie a lancé d'autres fenêtres non comme des fenêtres enfants.

Il est possible de savoir ce qu'est la structure en utilisant l'outil Spy ++ fourni avec Visual Studio.

Après cela, j'ai pu trouver la fenêtre nécessaire en utilisant la fonction FindWindowEx à l'aide WindowClassName (prise de Spy ++): lastWindows = FindWindowEx (IntPtr.Zero, lastWindows, m.WindowClassName, null);

2

Utilisez l'API Win32 EnumWindows (et si vous voulez EnumChildWindows)

[DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)] 
public static extern bool EnumWindows(EnumThreadWindowsCallback callback, IntPtr extraData); 

Vérifiez ensuite qui traite chaque fenêtre appartient à l'aide de l'API Win32 GetWindowThreadProcessId

[DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)] 
public static extern int GetWindowThreadProcessId(HandleRef handle, out int processId); 
Questions connexes