欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 毕业论文 > 计算机毕业论文

Win2000用户的限时登录_注销

时间:2012-07-09  作者:邢立枫

论文导读::最后通过调用API函数。利用两个时钟控件控制游戏的登录时间和玩多长时间。需修改Windows注册表。系统就自动注销此用户。
论文关键词:API函数,登录,注册表,注销
 

随着信息技术的发展,计算机已逐渐普及到家庭,电脑发挥其强大功能的同时,也给家长带来了困扰:怎样能控制小孩只能在限定的时间内操作电脑呢?本文利用VB编写了一个限制用户登录时间的小程序可以解决这个问题。

1.编程思路

首先,在Windows下建立两个用户,一个是小孩知道的普通用户,用户名可以为Child;一个是超级用户注销,用户名可以设为Adm,该用户能自由使用和管理电脑并可控制Child用户。为防止Child用户修改系统时间,要求此用户在建立时权限为受限用户,Amd用户要加密码,此用户名和密码不能让小孩知道。

然后,利用VB建立一窗体实现提示游戏时间到了的信息,利用两个时钟控件控制游戏的登录时间和玩多长时间,并设置相应属性。

最后通过调用API函数,若小孩不在指定的游戏时间内登录或超过了玩游戏时间,系统就自动注销此用户。为使窗体更形象,特通过调用API函数使窗体设为有图形背景的椭圆状。API函数是一组C语言编写的系统函数,是Windows本身用来提供图形用户界面和操作windows环境的所有的过程。VB可以直接调用所有Win32API函数。本文用到的几个API函数:GetUser-Name函数、ExitWindowsEx函数、CreateEllipticRgn函数、SetWindowRgn函数。

下面主要以ExitWindowsEx函数说明API函数的功能及使用,ExitWindowsEx函数可以方便地实行重新启动计算机或退出Windows系统并关闭计算机免费论文。它有两个参数,参数、uFlags指示执行该函数时要完成的动作,可以用一个或几个常数的组合或数值的组合来指定动作。这些常数为:

EWX_LOGOFF(=0)

EWX_SHUTDOWN(=1)

EWX_REBOOT(=2)

EWX_FORCE(=4)

EWX_POWEROFF(=8)

比如要强制用户退出重新登录可以设参数uFlags值为0或4注销,(参数uFlags值也可是这些常数的组合),如组合值为0+1+2表示强制终止所有进程,退出登录、关闭计算机、重新启动计算机等方面的信息。dwReserved参数用于控制是否要保留当前窗体状态。GetUserName函数用于获取当前登录的用户名的信息;CreateEllipticRgn函数用于建立椭圆状窗体。为能让计算机启动时自动运行此程序,需修改Windows注册表。

2.程序设计过程

(1)在Windows的“控制面板”中的“用户和密码”程序中,首先选中“要使用本机,用户必须输入用户名和密码”复选框,再建立两个用户:Amd和Child(权限为受限用户),并为Amd用户设置密码和权限(超级用户Administrator权限)。

(2)在VB中建立一窗体,并为窗体增加两个时钟控件和一个标签,属性设置为下表:

 

控件名

属性

属性值

窗体

Name

frmmain

标签

Caption

“孩子你应该结束游戏,去学习了!”

Backstyle

0-Transparent

时钟1

name

Timer1

时钟2

name

Timer2

为两个时钟的Timer事件添加代码,并在窗体Load事件中通过调用系统函数来获取登录的用户名,在窗体的Unload事件中调用系统函数实现注销用户并重新登录。完成工程后,把此工程编译成可执行文件,并把此可执行文件保存在Windows的系统目录(system32)下注销,同时设置此文件为只读权限。

(3) 修改注册表:在“开始”菜单下“运行”子菜单中键入Regedit,打开注册表程序,在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows

CurrentVersionRun,为其新建一个串值(名字任意),其数值数据为%SystemRoot%system32doonus.exe,保存后退出注册表。

3.程序主要代码

Option Explicit

Private Declare Function GetUserName Lib'advapi32.dll' Alias 'GetUserNameA' (ByVal lpBuffer AsString, nSize As Long) As LongPrivate Declare Function ExitWindowsEx Lib 'user32' (ByVal uFlags AsLong, ByVal dwReserved As Long) As Long

Private Sub Form_Load()

Dim s$,add&,d&

SetWindowRgnhwnd,CreateEllipticRgn(10,20,450,300),True

add& = 199s$ =String$(200, 0)dl& = GetUserName(s$,add) If Left$(s$, add - 1) = 'Child' Thentimer2.interval=2000Else timer1.interval1=0End IfEnd SubPrivate Sub Timer2_Timer()Dim weekid,mydate,mytimerDim h as stringmydate = Dateweekid = Weekday(mydate)mytimer = Timeh = Left$(mytimer, 2)If weekid > 1 And weekid < 7 ThenIf h > 19 And h< 20 ThenExit SubElse If h > 15 And hh < 16 ThenExit Sub ElseIf h > 19 And h < 21 ThenExit SubEnd IfEnd Iffrmmain.Visible = Truetimer1.Interval =20000 End SubPrivate Sub timer1_Timer()

Dim retu&

Retu&=ExitWindowsEx(EWX_FORCE orEWX_LOGOFF,0)

End Sub

4.程序的测试

在测试中,发现一些问题,如系统启动后,程序名出现在任务栏,暴露了文件名,可以通过“控制面板”中的“任务计划”来添加任务解决这个问题。


[参考文献]
[1]龚沛曾、陆慰民、杨志强.Visual Basic程序设计教程[M].高等教育出版社。
[2]倪晓军、杨力斌.VB4.0与Dll的参数传递及其性能优化[J].微型计算机应用.1998.1
[3]Microsoft.Visual Basic 5.0语言参考手册[S].科学出版社
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:《WEB应用系统开发》在教学中的教革与创新_项目开发
下一篇论文:XBRL与会计信息系统集成研究_职称论文
毕业论文分类
行政管理毕业论文 工商管理毕业论文
护理毕业论文 会计毕业论文
会计专业毕业论文 英语专业毕业论文
大学毕业论文 硕士毕业论文
计算机毕业论文 市场营销毕业论文
物流管理毕业论文 法学毕业论文
相关计算机毕业论文
最新计算机毕业论文
读者推荐的计算机毕业论文