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()); }
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); }
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); }
// 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); } }