用VB实现Win2000用户限时登录

2016-02-19 13:35 1 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的用VB实现Win2000用户限时登录,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

刚开始的时候,我把系统改成可管理性较强的Windows2000(文件系统必须采用NTFS格式),建立两个同属User组的受限制帐户Game(用于游戏)和Study(学习帐户)并为他们设置相应文件、文件夹的安全权限,然后利用系统管理工具中“本地安全策略”(开启“当登录时间用完时自动注销用户”)结合netuser命令来限制特定游戏帐号(如Game)的登录时间,不过并不奏效:能控制登录,但登录以后却不能实现自动强制退出。

  既然系统提供的功能不足以完成任务,何不通过编程来实现呢?初步的设想是用VB定制登录时间控制程序,然后修改注册表项,让程序在计算机启动或用户登录时自动加载。需要指出的是,必须限制Game和Study用户对系统时间的修改,为此还要对SetupBIOS加口令保护,有条件的话最好锁上主机箱。

  首先,VB程序的设计:新建工程,调整窗口的大小到合适,在窗口中添加一个label控件(设置caption属性为“你的登录时间已用完,1分钟以后注销,请及时保存数据!”)和二个timer控件(mainTimer和fairyTimer),程序代码如下:  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  OptionExplicit  

  ConstEWX_LogoFF=0

  ConstEWX_SHUTDOWN=1

  ConstEWX_REBOOT=2

  ConstEWX_FORCE=4

  PrivateDeclareFunctionGetUserNameLib"advapi32.dll"Alias"GetUserNameA"(ByVallpBufferAsString,nSizeAsLong)AsLong

  PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong  

  PrivateSubfairyTimer_Timer()

  Dimmyweekday,mydate

  Dimmytime,hh$,mm$,ss$

  mydate=Date

  myweekday=Weekday(mydate)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  mytime=Time

  hh$=Left$(mytime,2)

  mm$=Mid$(mytime,4,2)

  Ifmyweekday>1Andmyweekday<7Then

  '周一至周五登录规则

  Ifhh>18Andhh<19Then

  ExitSub

  Else

  EndIf

  Else

  '双休日登录规则

  Ifhh>13Andhh<15Then

  ExitSub

  ElseIfhh>18Andhh<20Then

  ExitSub

  Else

  EndIf

  EndIf

  mainForm.Visible=True

  mainTimer.Interval=60000'启动注销进程

  EndSub  

  PrivateSubForm_Load()

  Dims$,cnt&,dl&

  cnt&=199

  s$=String$(200,0)

  dl&=GetUserName(s$,cnt)

  'Debug.PrintLeft$(s$,cnt-1);cnt

  IfLeft$(s$,cnt-1)="ChenHL"Then

  fairyTimer.Interval=6000'启动监听精灵

  Else

  mainTimer.Interval=0

  EndIf

  EndSub  

  PrivateSubForm_Unload(CancelAsInteger)

  Dimret&

  ret&=ExitWindowsEx(EWX_FORCEOrEWX_LogoFF,0)

  EndSub  

  PrivateSubmainTimer_Timer()

  Dimret&

  ret&=ExitWindowsEx(EWX_FORCEOrEWX_LogoFF,0)

  EndSub


  完成工程以后,编译成doonus.exe可执行文件,并把doonus.exe文件保存到系统的SystemRootsystem32目录中,设置相应的安全权限,使之除管理员之外的其他用户为只读。
  
  接着,修改注册表:在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下新建字串值doonus,使其数值数据为SystemRootsystem32doonus.exe,保存后退出。
  
  重启电脑以后,发现此方法有二个很严重的缺陷:一是windows任务管理器的“应用程序”里能看到正在运行的doonus.exe程序(这是暴露目标,泄底!);二是尽管不能在“应用程序”里结束任务doonus(因为结束doonus任务意味着自动注销,这是程序设定的),但可以在“进程”中结束doonus进程(这是致命的漏洞!)。
  
  山穷水复疑无路,柳暗花明又一村。突然想到了windows中的“任务计划”,为什么不试试呢?
  
  双击“控制面板”的“任务计划”,在任务计划窗口中双击“添加任务计划”,在接着打开的窗口中点“下一步”,在接下来的窗口中选择SystemRootsystem32目录下的doonus.exe,接着输入任务名称(如doonus)并点选“计算机启动时”或“登录时”(如图1),点“下一步”并在接下来的窗口中输入用户名“abcadministrator”(我想你不会连这也照抄吧?)、密码和确认密码(如图2),最后点“下一步”完成。  
  
  
  
  
  
  终于完成了,重启一下,看看效果怎样?
  
  说明:以上程序在Windows2000、VB6.0下编译通过。->

来源:https://www.tulaoshi.com/n/20160219/1604710.html

延伸阅读
标签: Java JAVA基础
  作者:布丁 1.下载jdk1.3和tomcat; 2.安装jdk1.3和解压tomcat到c:盘根目录下; 3.进入tomcat的目录里,找到startup.bat文件,打开编辑。 在行call tomcat start的前面加上两行: SET TOMCAT_HOME=c:\tomcat 和 SET JAVA_HOME=c:\jdk1.3 注:c:\jdk1.3是jdk1.3安装的位置。 4.然后鼠标右键点击“我的电脑”,选择属性。在系统属...
标签: windows 操作系统
  在Windows XP和Windows 2000系统中有一个我不一般不常用,但是功能强大的命令,那就是:syskey命令。 这个命令可以有效地增强你的系统安全性。也许你要说不是进入Windows XP或Windows 2000的时候已经要输入帐户和密码了吗,这样还不安全吗?著名的WIN 2000的输入法漏洞你总该听说过 吧,如果你的电脑是多人使用,其他人完全...
一般进入系统都要登录(如进入Windows NT),进行身份检验,以保证软件的合法使用和维护,便于明确责任。我们自己开发的系统也必须保证系统使用者是合法用户,登录时要进行身份验证。 ---- 系统登录时一般有三次机会,超过则视为非法用户,不让使用系统。本程序是用VB5.0实现的,后台数据库是Access 97。 其主要源程序代码如下:Priva...
标签: Java JAVA基础
布丁在大作我的在WIN2000下的jsp的安装中提到: 1.下载jdk1.3和tomcat; 2.安装jdk1.3和解压tomcat到c:盘根目录下; 3.进入tomcat的目录里,找到startup.bat文件,打开编辑。 在行call tomcat start的前面加上两行: SET TOMCAT_HOME=c:\tomcat 和 SET JAVA_HOME=c:\jdk1.3 注:c:\jdk1.3是jdk1.3安装的位置。 4.然后鼠标右键点击“我的电...
在微软的很多软件(如WORD)的工具栏中,都采用一种浮动按钮,即正常情况下按钮的图标呈灰色,当鼠标移动到某一按钮上时,该按钮自动向上凸起且变为彩色,并在按钮的右下方有一标签提示该按钮的功能,鼠标移开后又自动还原,这种按钮用VB实现时,方法如下: 1.先用绘图工具作出按钮图标后存盘(如1.BMP),再用图像处理软件将该图标...

经验教程

850

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部