protected IEnumerable <IntPtr> getChildWnd(IntPtr parent) { List <IntPtr> res = new List <IntPtr>(); GCHandle gch = GCHandle.Alloc(res); try { var proc = new NativeMethods.EnumChildProc(childProcCallback); NativeMethods.EnumChildWindows(parent, proc, GCHandle.ToIntPtr(gch)); } finally { gch.Free(); } return(res); }
/// <summary> /// Initializes static members of the <see cref="MessageBoxManager"/> class. /// </summary> static MessageBoxManager() { hookProc = new NativeMethods.HookProc(MessageBoxHookProc); enumProc = new NativeMethods.EnumChildProc(MessageBoxEnumProc); hHook = IntPtr.Zero; }