0%

制作开机祝福程序

  • 来源:明日科技
  • 制作开机祝福程序


    实例说明

    运行Windows的应用程序有很多种方法,双击程序的快捷方式、双击程序的可执行文件、在命令行模式中输入程序文件名、双击程序的关联文件等都可以运行目标程序,然而Windows中有许多程序需要在开机后自动运行的。当然这样的程序最好不是很多,因为太多会影响Windows启动的速度。本实例将利用C#语言制作一个开机祝福程序。实例运行效果如图1所示。

    图1 制作开机祝福程序

    关键技术

    本实例实现的关键是如何在系统启动时自动运行程序,下面就对其进行详细介绍。 系统启动时自动运行程序有很多种方法,最为常用的一种方法就是利用系统注册表。在注册表中的“HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION \RUN”键下可以添加Windows启动后自动运行的程序,这种方法需要对注册表进行操作,C#中可以使用Registry类来实现,使用该类可以方便的对注册表进行操作,该类中的SetValue方法能够向注册表中添加或修改一个字符串值,其语法格式如下:
    public static void SetValue (string keyName, string valueName,Object value)
    参数说明
    keyName:以有效注册表根(如“HKEY_CURRENT_USER”)开头的键的完整注册表路径。
    valueName:名称/值对的名称。 value:要存储的值。

    设计过程

    (1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为BootStrapBeatitude。
    (2)更改默认窗体Form1的Name属性为Frm_Main,在该窗体中添加两个Label控件,分别用来显示当前日期和时间;添加两个Button控件,分别用来显示信息和执行退出程序操作。
    (3)程序主要代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    private void Frm_Main_Load(object sender, EventArgs e)
    {
    GraphicsPath gp = new GraphicsPath(); //初始化一个表示一系列相互连接的直线和曲线的类
    //初始化一个矩形操作区域
    Rectangle rect = new Rectangle(new Point(0, 0), new Size(this.Width, this.Height));
    gp.AddEllipse(rect); //向当前指定的路径下添加一个椭圆
    this.Region = new Region(gp); //设置与此控件关联的窗口区域
    this.label3.Text = DateTime.Now.ToShortDateString(); //在label3控件中显示当前的日期
    this.label5.Text = DateTime.Now.ToShortTimeString(); //在label5中显示当前的时间
    GraphicsPath gpstirng = new GraphicsPath();//初始化一个表示一系列相互连接的直线和曲线的类
    FontFamily family = new FontFamily("宋体");//初始化一个字体样式类
    int fontStyle = (int)FontStyle.Italic; //设置字体的样式类型
    int emSize = 25; //初始化一个emSize变量
    Point origin = new Point(0, 0); //初始化一个有序实数对的实例
    StringFormat format = StringFormat.GenericDefault; //创建一个包含文本布局信息的对象
    gpstirng.AddString("开开心心每一天", family, fontStyle, emSize, origin, format); //向指定的路径添加字符串
    this.button1.Region = new Region(gpstirng); //设置与button1控件关联的窗口区域
    Registry.LocalMachine.CreateSubKey(@"SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\RUN").SetValue("MyAngel", Application.StartupPath + "\\\Ex05_13.exe", RegistryValueKind.String);//打开注册表中的现有项并设置其中的键值类型
    }

    秘笈心法

    心法领悟017:注册表的使用。
    注册表的层次结构非常类似于文件系统,它记录了用户账号、服务器硬件以及应用程序的设置信息等。同INI文件相比,注册表可以控制的数据更多,而且不仅仅限于处理字符串类型的数据。注册表也包含了一些系统配置的信息,这些信息根据操作系统的不同而不同。用户在“开始”/“运行”里输入regedit后,单击“确定”按钮即可打开注册表编辑器。

    觉得文章有用?请我喝杯咖啡~