设计多功能关机程序计划
民生呼声 2021-08-24 18:33 字号: 大 中 小
产妇们大多会选择朝向好的房间。咨询顾问说:“虽然阴面的房间价格实惠 许多软件都有自动关机功能,特别是在长时间下载的时候,这个功能可是使你不用以守候在计算机前面,而电脑却能按照您事先的设定自动关闭。现在我们用visual C#来编写一个多功能的关机程序。该程序具有:定时关机、倒计时关机、关机提醒、系统信息获取等四项功能, 可设定关机时间精确到秒。并且让你很快掌握Visual C#中对API的操作程序。
一. 设计关闭Windows窗体
1. 界面的设计
新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置其属性:
控件名类别Text 控件名 类别 TextCheckBox1CheckBox 自动关机 GroupBox1GroupBox当前系统时间CheckBox1CheckBox倒计时执行操作GroupBox2GroupBox 设定时间CheckBox1CheckBox 定时报警TxtTime TextBox ButCancle Button取消SetupTimeDateTimePicker ButReOpenButton重新启动SetupDate DateTimePicker ButCloseButton 关机 Timer1Timer100ButSysIntoButton系统信息ButReLoginButton注消
Windows窗体界面:
将窗体属性中的caption设置为\"关闭windows\",名称设置为\"frmmain\"。
2. 在窗体类中引用API函数
API函数是构筑Windows应用程序的基石,是Windows编程的必备利器。每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用Windows API函数的接口,也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。
在Visual C#中调用API的基本过程:
首先,在调用API之前,你必须先导入eropServices这个名称空间。该名称空间包含了在Visual C#中调用API的一些必要集合,具体的方法如下:
using eropServices ;
using xt ;
在导入了名称空间后,我们要声明在程序中所要用到的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类,所以在程序的开始处,我们还得添加xt这个名称空间,方法同上。
声明其它的在程序中所要用到的API函数:
[ DllImport(\"user32\") ]
public static extern long ExitWindowsEx(long uFlags, long dwReserved ) ;
[ DllImport(\"shell32\") ]
public static extern long ShellAbout(long uFlags, long dwReserved ) ;
3. 增加窗体类的变量
long dwReserved ;
const int SHUTDOWN = 1 ;
const int REBOOT = 2 ;
const int LOGOFF = 0 ;
long sh ;
int counter , n ;
4. 编写窗体类的方法
在窗体的Load(事件过程中编写如下代码:
private void frmmain1_Load(object sender, entArgs e )
{
xt = ShortDateString( ) + \" \"+ LongTimeString( ) ;
}
在组件Timer1的OnTimer事件过程中编写如下代码:
/ / 在组件Timer1的OnTimer事件过程中编写如下代码:
private void Timer1_Timer(object sender, entArgs e )
{
string CurrDate=ShortDateString( ) ;
string CurrTime=ShortTimeString( ) ;
if( ecked == true )
{
if(CurrDate== String( ) CurrTime==String( ) )
ColseComputer( ) ;
}
}
private void ColseComputer( )
{ sh = ExitWindowsEx(SHUTDOWN, dwReserved) ; }
private void button1_Click(object sender, entArgs e )
{
Form2 frm=new Form2( ) ;
ow( ) ;
}
private void ButReOpen_Click(object sender, entArgs e )
{ sh = ExitWindowsEx(REBOOT, dwReserved) ; }
private void ButReLogin_Click(object sender, entArgs e )
{ sh = ExitWindowsEx(LOGOFF, dwReserved) ; }
private void ButCancle_Click(object sender, entArgs e )
{ ose( ) ; }
private void ButClose_Click_1(object sender, entArgs e )
{ sh = ExitWindowsEx(REBOOT, dwReserved) ; }
薏芽健脾凝胶宏济堂小儿消食片
石家庄医院白癜风治疗哪家好
-
-
温州购房门事件中两官员受贿被判刑搭配
温州“购房门”事件中两官员受贿被判刑温州“购房门&rdq...
2020-06-06 | 民生呼声
-
-
南中轴构建大国首都新客厅北京金茂府尽致美搭配
南中轴构建大国首都新客厅,北京金茂府尽致美好风口首都,是...
2020-06-06 | 民生呼声
-
-
袁心玥全运会是人生一坎学心理学有助排球生搭配
袁心玥:全运会是人生一坎 学心理学有助排球生涯袁心玥扎起...
2020-06-01 | 民生呼声
-
-
卢卡库告诫队友别怕穆帅骂你解决问题就没事搭配
卢卡库告诫队友:别怕穆帅骂你 解决问题就没事了卢卡库一直...
2020-05-27 | 民生呼声
-
-
我市获省级社区居家养老奖补资金扶持
我市获省级社区居家养老奖补资金扶持日前,我市争取省级社...
2019-07-13 | 民生呼声
-
-
沭阳县多项措施推进生态殡葬建设
沭阳县多项措施推进生态殡葬建设近年来,沭阳县始终坚持绿...
2019-07-13 | 民生呼声