/// <summary>
        /// Initializes all members.
        /// </summary>
        private void InitMembers()
        {
            clockTimer = new ClockTimer();
            clockTimer.ClockTimerElapsed += UpdateClockWindow;

            // Sets lock screen is true or false.
            isLockScreenActive = LockScreenActive.GetLockScreenActive();
        }
        /// <summary>
        /// Installs the screensaver to user's appData.
        /// </summary>
        private void InstallScreensaver()
        {
            string appDataPath         = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string screensaverFilePath = Path.Combine(appDataPath, SCR_FILE_NAME);

            string[] fileNames = Assembly.GetExecutingAssembly().GetManifestResourceNames();

            // Try to copy screensaver file to disc.
            try
            {
                foreach (String fileName in fileNames)
                {
                    using (FileStream fileStream = File.Create(screensaverFilePath))
                    {
                        Assembly.GetExecutingAssembly().
                        GetManifestResourceStream(fileName).
                        CopyTo(fileStream);
                    }
                }
            }

            // Catch application exception.
            catch (Exception)
            {
                throw new ApplicationException();
            }

            // Installs screensaver into registry.
            registryHandler?.SaveSettings(true,
                                          LockScreenActive.GetLockScreenActive(),
                                          15,
                                          screensaverFilePath);

            // Now update Windows registry changes to screensaver.exe.
            Win32API.SetScreenSaverSecure(1);
            Win32API.SetScreenSaverActive(1);
            Win32API.SetScreenSaverTimeout(15 * 60);
        }