/// <summary> /// Windows 10 programs now uses class names to hide themself (wut!?) /// </summary> /// <param name="hWnd">window handler to check if it is visible or not</param> /// <returns>true if the app is visible, else false</returns> private bool IsSpecialAppVisible(IntPtr hWnd) { var childData = new EnumExtraData(); pinvokeHandler.EnumChildWindows(hWnd, new EnumWindowsProc(EnumProc), ref childData); var hit = false; foreach (var ch in childData.Hwnd) { var ccb = new StringBuilder(1024); pinvokeHandler.GetClassName(ch, ccb, ccb.Capacity); if (ccb.ToString() == "Windows.UI.Core.CoreWindow") { hit = true; break; } } return(hit); }
/// <summary> /// Helper method to enumerate all process /// </summary> /// <param name="hWnd"></param> /// <param name="data"></param> /// <returns></returns> private static bool EnumProc(IntPtr hWnd, ref EnumExtraData data) { data.Hwnd.Add(new IntPtr(hWnd.ToInt64())); return(true); }