public static List <IHMIScreen> GetCurrentRuntimeFilelist()
        {
            IHMIScreens screens;
            IHMIScreen  activeScreen;

            GetRuntimeScreens(out screens, out activeScreen);

            var foundScreens = new List <IHMIScreen>();

            var rt = new CCHMIRUNTIME.HMIRuntime();

            var screensList = screens.Cast <IHMIScreen>();
            List <CCHMIRUNTIME.IHMIDataSet> datasets = screensList.
                                                       Where(c => c.Parent != null).
                                                       Where(c => c.Parent.ObjectName.StartsWith("@DataClass")).
                                                       Select(c => c.DataSet).
                                                       ToList();

            foreach (CCHMIRUNTIME.IHMIScreen s in screens)
            {
                foundScreens.Add(s);
            }

            return(foundScreens);
        }
        public static void GetRuntimeScreens(out IHMIScreens screens, out IHMIScreen activeScreen)
        {
            CCHMIRUNTIME.HMIRuntime       rt       = new CCHMIRUNTIME.HMIRuntime();
            CCHMIRTGRAPHICS.HMIRTGraphics graphics = new CCHMIRTGRAPHICS.HMIRTGraphics();

            screens      = rt.Screens;
            activeScreen = rt.ActiveScreen;

            currentActiveScreen = activeScreen.ObjectName;
            currentPage         = currentActiveScreen;
        }