public static class DisplayFusionFunction { public static void Run(IntPtr windowHandle) { // Grab the current monitor profile string currentProfile = BFS.DisplayFusion.GetCurrentMonitorProfile(); // Get all the profile names string[] profiles = BFS.DisplayFusion.GetMonitorProfiles(); // Filter the current monitor profile out of the array profiles = profiles.Where(item => item != currentProfile).ToArray(); // Ask to select a monitor profile string selected = BFS.Dialog.GetUserInputList("Please select monitor profile:", profiles); // If nothing was selected, exit the script if(string.IsNullOrEmpty(selected)) return; // Change the monitor profile BFS.DisplayFusion.LoadMonitorProfileHideErrors(selected); } }
using System; using System.Drawing; using System.Linq; // The 'windowHandle' parameter will contain the window handle for the: // - Active window when run by hotkey // - Trigger target when run by a Trigger rule // - TitleBar Button owner when run by a TitleBar Button // - Jump List owner when run from a Taskbar Jump List // - Currently focused window if none of these match public static class DisplayFusionFunction { public static void Run(IntPtr windowHandle) { // Grab the current monitor profile string currentProfile = BFS.DisplayFusion.GetCurrentMonitorProfile(); // Get all the profile names string[] profiles = BFS.DisplayFusion.GetMonitorProfiles(); // Filter the current monitor profile out of the array profiles = profiles.Where(item => item != currentProfile).ToArray(); // Ask to select a monitor profile string selected = BFS.Dialog.GetUserInputList("Seleziona profilo monitor:", profiles); // If nothing was selected, exit the script if(string.IsNullOrEmpty(selected)) return; // Change the monitor profile BFS.DisplayFusion.LoadMonitorProfileHideErrors(selected); } }