真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作

這篇文章主要介紹“怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作”文章能幫助大家解決問題。

創(chuàng)新互聯(lián)是一家專業(yè)提供新豐企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為新豐眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

正文

屏保程序的本質(zhì)上就是一個(gè)Win32 窗口應(yīng)用程序;

把編譯好一個(gè)窗口應(yīng)用程序之后,把擴(kuò)展名更改為 scr,于是你的屏幕保護(hù)程序就做好了;

怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作

選中修改好的 scr 程序上點(diǎn)擊右鍵,可以看到一個(gè) 安裝 選項(xiàng),點(diǎn)擊之后就安裝了;

怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作

安裝之后會(huì)立即看到我們的屏幕保護(hù)程序已經(jīng)運(yùn)行起來了;

處理屏幕保護(hù)程序參數(shù)如下

/s 屏幕保護(hù)程序開始,或者用戶點(diǎn)擊了 預(yù)覽 按鈕;

/c 用戶點(diǎn)擊了 設(shè)置按鈕;

/p 用戶選中屏保程序之后,在預(yù)覽窗格中顯示;

怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作

實(shí)現(xiàn)代碼

1)MainWindow.xaml 代碼如下;


    
        
            
                
                    
                        
                            
                        
                    
                
            
        
        
            
                
                
            
            
                
                    
                    
                    
                
            
            
                
                
                    
                        
                            
                                
                                    
                                
                            
                        
                    
                
                
            
            
        
    

2) MainWindow.xaml.cs 代碼如下;

當(dāng)屏保啟動(dòng)后需要注意如下

  • 將鼠標(biāo)設(shè)置為不可見Cursors.None;

  • 將窗體設(shè)置為最大化WindowState.Maximized;

  • WindowStyle設(shè)置為"None";

  • 注意監(jiān)聽鼠標(biāo)按下和鍵盤按鍵則退出屏保;

using System;
using System.Collections.ObjectModel;
using System.Globalization;
using System.IO;
using System.Windows;
using System.Windows.Input;
using System.Windows.Threading;

namespace ScreenSaver
{
    /// 
    ///     MainWindow.xaml 的交互邏輯
    /// 
    public partial class MainWindow : Window
    {
        public static readonly DependencyProperty stringCollectionProperty =
            DependencyProperty.Register("stringCollection", typeof(ObservableCollection), typeof(MainWindow),
                new PropertyMetadata(null));

        public static readonly DependencyProperty HourProperty =
            DependencyProperty.Register("Hour", typeof(string), typeof(MainWindow), new PropertyMetadata(null));

        public static readonly DependencyProperty MinuteProperty =
            DependencyProperty.Register("Minute", typeof(string), typeof(MainWindow), new PropertyMetadata(null));

        public static readonly DependencyProperty SecondProperty =
            DependencyProperty.Register("Second", typeof(string), typeof(MainWindow), new PropertyMetadata(null));

        public static readonly DependencyProperty DateProperty =
            DependencyProperty.Register("Date", typeof(string), typeof(MainWindow), new PropertyMetadata());

        private readonly DispatcherTimer timer = new DispatcherTimer();

        public MainWindow()
        {
            InitializeComponent();
            Loaded += delegate
            {
                WindowState = WindowState.Maximized;
                Mouse.OverrideCursor = Cursors.None;
                var date = DateTime.Now;
                Hour = date.ToString("HH");
                Minute = date.ToString("mm");
                Date =
                    $"{date.Month} / {date.Day}   {CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(date.DayOfWeek)}";
                stringCollection = new ObservableCollection();
                var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Images");
                var directoryInfo = new DirectoryInfo(path);
                foreach (var item in directoryInfo.GetFiles())
                {
                    if (Path.GetExtension(item.Name) != ".jpg") continue;
                    stringCollection.Add(item.FullName);
                }

                timer.Interval = TimeSpan.FromSeconds(1);
                timer.Tick += delegate
                {
                    date = DateTime.Now;
                    Hour = date.ToString("HH");
                    Minute = date.ToString("mm");
                    Date =
                        $"{date.Month} / {date.Day}   {CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(date.DayOfWeek)}";
                };
                timer.Start();
            };
            MouseDown += delegate { Application.Current.Shutdown(); };
            KeyDown += delegate { Application.Current.Shutdown(); };
        }

        public ObservableCollection stringCollection
        {
            get => (ObservableCollection)GetValue(stringCollectionProperty);
            set => SetValue(stringCollectionProperty, value);
        }


        public string Hour
        {
            get => (string)GetValue(HourProperty);
            set => SetValue(HourProperty, value);
        }

        public string Minute
        {
            get => (string)GetValue(MinuteProperty);
            set => SetValue(MinuteProperty, value);
        }

        public string Second
        {
            get => (string)GetValue(SecondProperty);
            set => SetValue(SecondProperty, value);
        }


        public string Date
        {
            get => (string)GetValue(DateProperty);
            set => SetValue(DateProperty, value);
        }
    }
}

關(guān)于“怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。


分享文章:怎么用WPF代碼實(shí)現(xiàn)Windows屏保制作
文章路徑:http://weahome.cn/article/igoppg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部