Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
 /// <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);
 }