Visual C#设计多功能关机程序 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    许多软件都有自动关机功能,特别是在长时间下载的时候,这个功能可是使你不用以守候在计算机前面,而电脑却能按照您事先的设定自动关闭,

Visual C#设计多功能关机程序

。现在我们用visual C#来编写一个多功能的关机程序。该程序具有:定时关机、倒计时关机、关机提醒、系统信息获取等四项功能, 可设定关机时间精确到秒。并且让你很快掌握Visual C#中对API的操作程序。

    一. 设计关闭Windows窗体

    1. 界面的设计

    新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置其属性:

    控件名类别Text控件名类别TextCheckBox1CheckBox自动关机GrouPBox1GroupBox当前系统时间CheckBox1CheckBox倒计时执行操作GroupBox2GroupBox设定时间CheckBox1CheckBox定时报警TxtTimeTextBoxButCancleButton取消SetupTimeDateTimePickerButReOpenButton重新启动SetupDateDateTimePickerButCloseButton关机Timer1Timer100ButSysIntoButton系统信息ButReLoginButton注消

    Windows窗体界面:

   

    将窗体属性中的caption设置为"关闭windows",名称设置为"frmmain"。

    2. 在窗体类中引用API函数

    API函数是构筑Windows应用程序的基石,是Windows编程的必备利器。每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用Windows API函数的接口,也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。

    在Visual C#中调用API的基本过程:

    首先,在调用API之前,你必须先导入System.Runtime.InteropServices这个名称空间,

电脑资料

Visual C#设计多功能关机程序》(https://www.unjs.com)。该名称空间包含了在Visual C#中调用API的一些必要集合,具体的方法如下:

    using System.Runtime.InteropServices ;

    using System.Text ;

    在导入了名称空间后,我们要声明在程序中所要用到的API函数。我们的程序主要是获取系统的相关信息,所以用到的API函数都是返回系统信息的。先给出在Visual C#中声明API的方法:

    [ DllImport("user32") ]

    public static extern long SetWindowPos(long hwnd , long hWndInsertAfter, long X , long y , long cx, long cy, long wFlagslong) ;

    其中,"DllImport"属性用来从不可控代码中调用一个方法,它指定了DLL的位置,该DLL中包含调用的外部方法;"kernel32"设定了类库名;"public"指明函数的访问类型为公有的;"static"修饰符声明一个静态元素,而该元素属于类型本身而不是指定的对象;"extern"表示该方法将在工程外部执行,同时使用DllImport导入的方法必须使用"extern"修饰符;最后GetWindowsDirectory函数包含了两个参数,一个为StringBuilder类型的,另一个为int类型的,该方法返回的内容存在于StringBuilder类型的参数中。同时,因为我们在这里使用到了StringBuilder类,所以在程序的开始处,我们还得添加System.Text这个名称空间,方法同上。

    声明其它的在程序中所要用到的API函数:

    [ DllImport("user32") ]

    public static extern long ExitWindowsEx(long uFlags, long dwReserved ) ;

    [ DllImport("shell32") ]

    public static extern long ShellAbout(long uFlags, long dwReserved ) ;

最新文章