2010-02-17 18 views

risposta

3

3rd aplication partito ha lanciato altre finestre non come finestre figlio.

È possibile scoprire cos'è la struttura utilizzando lo strumento Spy ++ fornito con Visual Studio.

Dopo questo, sono stato in grado di trovare la finestra necessario, utilizzando la funzione FindWindowEx utilizzando WindowClassName (tratto da Spy ++): lastWindows = FindWindowEx (IntPtr.Zero, lastWindows, m.WindowClassName, null);

2

Utilizzare l'API Win32 EnumWindows (e se si vuole EnumChildWindows)

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

Poi verificare quali elaborare ogni finestra appartiene utilizzando l'API Win32 GetWindowThreadProcessId

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