Example #1
0
        public VibranceProxy(bool isSilenced = false)
        {
            try
            {
                VibranceInfo = new VIBRANCE_INFO();
                bool ret = initializeLibrary();

                int[] gpuHandles = new int[NVAPI_MAX_PHYSICAL_GPUS];
                int[] outputIds  = new int[NVAPI_MAX_PHYSICAL_GPUS];
                enumeratePhsyicalGPUs(gpuHandles);

                EnumerateDisplayHandles();

                VibranceInfo.activeOutput = getActiveOutputs(gpuHandles, outputIds);
                StringBuilder buffer = new StringBuilder(64);
                char[]        sz     = new char[64];
                getGpuName(gpuHandles, buffer);
                VibranceInfo.szGpuName     = buffer.ToString();
                VibranceInfo.defaultHandle = enumerateNvidiaDisplayHandle(0);

                NV_DISPLAY_DVC_INFO info = new NV_DISPLAY_DVC_INFO();
                if (getDVCInfo(ref info, VibranceInfo.defaultHandle))
                {
                    if (info.currentLevel != VibranceInfo.userVibranceSettingDefault)
                    {
                        setDVCLevel(VibranceInfo.defaultHandle, VibranceInfo.userVibranceSettingDefault);
                    }
                }

                VibranceInfo.isInitialized = true;
            }
            catch (Exception)
            {
                MessageBox.Show(VibranceProxy.NVAPI_ERROR_INIT_FAILED);
            }
        }
Example #2
0
 static extern bool getDVCInfo(ref NV_DISPLAY_DVC_INFO info, int defaultHandle);