云南省住房城乡建设厅网站,商务公司网站建设,学校网站策划书,高质量的南京网站建设前言 我们平时电脑启动的屏保程序其本质也是应用程序#xff0c;只是后缀名为.scr。所以我们只需要把应用程序后缀改为.scr#xff0c;然后右键选择安装即可启动我们自己的屏保程序。 屏保注册表参数 设置电脑屏保参数#xff0c;在个性化设置锁屏界面屏幕保护程序设…前言 我们平时电脑启动的屏保程序其本质也是应用程序只是后缀名为.scr。所以我们只需要把应用程序后缀改为.scr然后右键选择安装即可启动我们自己的屏保程序。 屏保注册表参数 设置电脑屏保参数在个性化设置锁屏界面屏幕保护程序设置进行调节和设置。设置完成后参数会写入注册表电脑会根据注册表中设置的参数启动屏保程序。我们也可以使用程序直接设置注册表屏保参数启动我们自定义屏保程序。
屏保注册表参数如下
SCRNSAVE.EXE默认屏保程序我们可将此键值设置为我们制作的程序(程序后缀为.scr)ScreenSaveActive屏保状态1为启动0为关闭ScreenSaveTimeout屏幕保护程序启动前系统的空闲事件单位为秒默认为900(15分钟)ScreenSaverIsSecure默认参数为0标识不需要用户密码登录即可启动屏保
C#/WPF代码启动自定义屏保 internal class ComputerHelper{[DllImport(user32.dll)]private static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);private const int HWND_BROADCAST 0xffff;private const int WM_SYSCOMMAND 0x112;private const int SC_SCREENSAVE 0xf140;/// summary/// 启动屏幕程序/// /summarypublic static void ScreenSaveStart(){SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_SCREENSAVE, 0);}}public partial class MainWindow : Window{private string screenSaver D:\\Test.scr;public MainWindow(){InitializeComponent();}#region Methods/// summary/// 更新屏保注册表参数/// /summaryprivate void UpdateScreenSaverRegist(){//获取user根项RegistryKey user Registry.CurrentUser;//打开desktop项RegistryKey desktop user.OpenSubKey(Control Panel\\Desktop, true);if(desktop ! null) {//设置屏保程序位置desktop.SetValue(SCRNSAVE.EXE, screenSaver);//是否启动屏保 0:不启动 1:启动desktop.SetValue(ScreenSaveActive, 1);//退出屏保后是否需要登录 0不需要 1需要desktop.SetValue(ScreenSaverIsSecure, 1);//电脑无操作后启动屏保时间desktop.SetValue(ScreenSaveTimeout, 60);}}#endregionprivate void btnSetScreenSaver_Click(object sender, RoutedEventArgs e){try{UpdateScreenSaverRegist();ComputerHelper.ScreenSaveStart();}catch (Exception ex){MessageBox.Show($设置屏保失败-{ex.Message});} }}
实例链接https://download.csdn.net/download/lvxingzhe3/88746976