RPS.Screensaver.setAsCurrentScreensaver C# (CSharp) Method

setAsCurrentScreensaver() private static method

private static setAsCurrentScreensaver ( string path ) : void
path string
return void
        private static void setAsCurrentScreensaver(string path) {
            if (File.Exists(path)) {
                StringBuilder buffer = new StringBuilder(512);
                GetShortPathName(path, buffer, buffer.Capacity);
                Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "SCRNSAVE.EXE", Convert.ToString(buffer));

                // https://msdn.microsoft.com/library/windows/desktop/ms724832.aspx
                RegistryValueKind rvkType = RegistryValueKind.String;
                if (Environment.OSVersion.Version.Major > 6 || (Environment.OSVersion.Version.Major == 6 &&  Environment.OSVersion.Version.Minor > 0)) {
                    rvkType = RegistryValueKind.DWord;
                }
                Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "ScreenSaveActive", 1, rvkType);
            }
        }