/// <summary> /// Returns a list of child windows /// </summary> /// <param name="parent">Parent of the windows to return</param> /// <returns>List of child windows</returns> private static List<IntPtr> GetChildWindows(IntPtr parent) { List<IntPtr> result = new List<IntPtr>(); GCHandle listHandle = GCHandle.Alloc(result); try { Win32.EnumWindowProc childProc = new Win32.EnumWindowProc(EnumWindow); Win32.EnumChildWindows(parent, childProc, GCHandle.ToIntPtr(listHandle)); } finally { if (listHandle.IsAllocated) listHandle.Free(); } return result; }
public static List <IntPtr> GetChildWindows(IntPtr parent) { List <IntPtr> list = new List <IntPtr>(); GCHandle value = GCHandle.Alloc(list); try { Win32.EnumWindowProc lpEnumFunc = new Win32.EnumWindowProc(Win32.EnumWindow); Win32.EnumChildWindows(parent, lpEnumFunc, GCHandle.ToIntPtr(value)); } finally { if (value.IsAllocated) { value.Free(); } } return(list); }
/// <summary> /// Returns a list of child windows /// </summary> /// <param name="parent">Parent of the windows to return</param> /// <returns>List of child windows</returns> private static List <IntPtr> GetChildWindows(IntPtr parent) { List <IntPtr> result = new List <IntPtr>(); GCHandle listHandle = GCHandle.Alloc(result); try { Win32.EnumWindowProc childProc = new Win32.EnumWindowProc(EnumWindow); Win32.EnumChildWindows(parent, childProc, GCHandle.ToIntPtr(listHandle)); } finally { if (listHandle.IsAllocated) { listHandle.Free(); } } return(result); }
private static extern bool EnumChildWindows(IntPtr hwndParent, Win32.EnumWindowProc lpEnumFunc, IntPtr lParam);