屏保显示页面控制

因需要做一个特色屏保,安装在每位员工的电脑上运行,同时为在一定程度上防止职员随意更换其它屏保,特做一个关于屏保显示页面控制的小程序。。。。Delphi代码如下:

显示效果:

//工程文件
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

//单元文件
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses Registry;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  reg : TRegistry;
begin
  try
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CURRENT_USER;
    reg.openkey('software\microsoft\windows\currentversion\policies\system',true);
    if reg.ValueExists('Nodispscrsavpage') then
    begin
      if reg.ReadString('Nodispscrsavpage') = '1' then
      begin
        reg.DeleteValue('Nodispscrsavpage');   //显示 投置选项
      end else
      begin
        reg.WriteString('Nodispscrsavpage','1'); //隐藏
      end;
    end else
    begin
      reg.WriteString('Nodispscrsavpage','1');
    end;

    //根据结果判断是否修改成功
    if reg.ValueExists('Nodispscrsavpage') then
    begin
      if reg.ReadString('Nodispscrsavpage') = '1' then
      begin
        //是隐藏状态
        label2.Caption := '隐  藏';
        button1.Caption := '显  示';
      end else
      begin
        //显示状态
        label2.Caption := '显  示';
        button1.Caption := '隐  藏';
      end;
    end else
    begin
      //显示状态
      label2.Caption := '显  示';
      button1.Caption := '隐  藏';
    end;

  finally
    reg.CloseKey;
    reg.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  reg : TRegistry;
  stmp : String;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;
  reg.openkey('software\microsoft\windows\currentversion\policies\system',true);
  stmp := reg.ReadString('Nodispscrsavpage');
  if stmp <> '1' then
  begin
    label2.Caption := '显  示';
    button1.Caption := '隐  藏';
  end else
  begin
    label2.Caption := '隐  藏';
    button1.Caption := '显  示';
  end;
  reg.CloseKey;
  reg.Free;
end;

end.

//窗体代码
object Form1: TForm1
  Left = 185
  Top = 173
  BorderIcons = [biSystemMenu, biMinimize]
  Caption = #23631#20445#25511#21046#20462#25913
  ClientHeight = 169
  ClientWidth = 234
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  Position = poScreenCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 8
    Top = 16
    Width = 130
    Height = 22
    AutoSize = False
    Caption = #24403#21069#25511#21046#23646#24615#29366#24577#65306
  end
  object Label2: TLabel
    Left = 145
    Top = 11
    Width = 81
    Height = 27
    AutoSize = False
    Font.Charset = GB2312_CHARSET
    Font.Color = clFuchsia
    Font.Height = -19
    Font.Name = #21326#25991#38582#20070
    Font.Style = []
    ParentFont = False
  end
  object Button1: TButton
    Left = 40
    Top = 85
    Width = 153
    Height = 52
    Font.Charset = GB2312_CHARSET
    Font.Color = clNavy
    Font.Height = -24
    Font.Name = #24188#22278
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 0
    OnClick = Button1Click
  end
  object StatusBar1: TStatusBar
    Left = 0
    Top = 150
    Width = 234
    Height = 19
    Panels = <
      item
        Text = 'CopyRight  by  BoltWolf     ---2011.06.01'
        Width = 50
      end>
  end
end
原文地址:https://www.cnblogs.com/boltwolf/p/2073839.html