示例#1
0
        public static void WriteConfig(DisplayMeta displayMeta)
        {
            IniFile ini = new IniFile(Constants.INI_PATH);

            ini.IniWriteValue("MatchCriteria", "DeviceName", displayMeta.DeviceName);
            ini.IniWriteValue("MatchCriteria", "FriendlyName", displayMeta.FriendlyName);
            ini.IniWriteValue("MatchCriteria", "EDIDManufactureCode", displayMeta.EDIDManufactureCode);
            ini.IniWriteValue("MatchCriteria", "EDIDManufactureId", displayMeta.EDIDManufactureId.ToString());
            ini.IniWriteValue("MatchCriteria", "EDIDProductCode", displayMeta.EDIDProductCode.ToString());
        }
示例#2
0
        private void RedrawChecklist(DisplayMeta x)
        {
            checkedListBox1.Items.Clear();

            checkedListBox1.Items.Add($"[Device Name] {x.DeviceName}", !String.IsNullOrEmpty(x.DeviceName));
            checkedListBox1.Items.Add($"[Friendly Name] {x.FriendlyName}", !String.IsNullOrEmpty(x.FriendlyName));
            checkedListBox1.Items.Add($"[EDID Manufacture Code] {x.EDIDManufactureCode}", !String.IsNullOrEmpty(x.EDIDManufactureCode));
            checkedListBox1.Items.Add($"[EDID Manufacture Id] {x.EDIDManufactureId}", x.EDIDManufactureId != null);
            checkedListBox1.Items.Add($"[EDID Product Code] {x.EDIDProductCode}", x.EDIDProductCode != null);
        }
示例#3
0
        public static DisplayMeta LoadConfig()
        {
            var result = new DisplayMeta();

            IniFile ini = new IniFile(Constants.INI_PATH);

            result.DeviceName          = ini.IniReadValue("MatchCriteria", "DeviceName");
            result.FriendlyName        = ini.IniReadValue("MatchCriteria", "FriendlyName");
            result.EDIDManufactureCode = ini.IniReadValue("MatchCriteria", "EDIDManufactureCode");
            if (int.TryParse(ini.IniReadValue("MatchCriteria", "EDIDManufactureId"), out int EDIDManufactureId))
            {
                result.EDIDManufactureId = EDIDManufactureId;
            }
            if (int.TryParse(ini.IniReadValue("MatchCriteria", "EDIDProductCode"), out int EDIDProductCode))
            {
                result.EDIDProductCode = EDIDProductCode;
            }

            return(result);
        }
示例#4
0
        // Main logic
        static public ApplyResult Run()
        {
            // Load config
            DisplayMeta res = Config.LoadConfig();

            // Scan for the target display (e.g. the projector) to see if it is attached to the machine
            var display = DisplayHelper.LookupFromMatch(res);

            if (display == null)
            {
                // It's not.
                return(ApplyResult.Fail_NotDetected);
            }

            // Set PowerPoint to use that display using the up-to-date "DisplayName"
            if (PowerPointRegistry.ApplyConfig(display.DisplayName))
            {
                return(ApplyResult.Success_WriteOK);
            }
            else
            {
                return(ApplyResult.Success_NoWriteNeeded);
            }
        }