• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
用VB实现Win2000用户限时登录
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
用VB实现Win2000用户限时登录
软件发布 用VB实现Win2000用户限时登录
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> 用VB实现Win2000用户限时登录

用VB实现Win2000用户限时登录

添加时间: 2006-2-15 3:09:50  作者: VB教程  阅读次数:36   来源: http://www.d9soft.com

       

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

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

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

  Option Explicit  

  Const EWX_LOGOFF = 0

  Const EWX_SHUTDOWN = 1

  Const EWX_REBOOT = 2

  Const EWX_FORCE = 4

  Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

  Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long  

  Private Sub fairyTimer_Timer()

    Dim myweekday, mydate

    Dim mytime, hh$, mm$, ss$

    mydate = Date

    myweekday = Weekday(mydate)

    mytime = Time

    hh$ = Left$(mytime, 2)

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

    If myweekday > 1 And myweekday < 7 Then

    '周一至周五登录规则

      If hh > 18 And hh < 19 Then

        Exit Sub

      Else

      End If

    Else

    '双休日登录规则

      If hh > 13 And hh < 15 Then

        Exit Sub

      ElseIf hh > 18 And hh < 20 Then

        Exit Sub

      Else

      End If

    End If

    mainForm.Visible = True

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

    End Sub  

  Private Sub Form_Load()

    Dim s$, cnt&, dl&

    cnt& = 199

    s$ = String$(200, 0)

    dl& = GetUserName(s$, cnt)

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

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

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

    Else

      mainTimer.Interval = 0

    End If

    End Sub  

  Private Sub Form_Unload(Cancel As Integer)

    Dim ret&

    ret& = ExitWindowsEx(EWX_FORCE Or EWX_LOGOFF, 0)

  End Sub  

  Private Sub mainTimer_Timer()

    Dim ret&

    ret& = ExitWindowsEx(EWX_FORCE Or EWX_LOGOFF, 0)

  End Sub   

  完成工程以后,编译成doonus.exe可执行文件,并把doonus.exe文件保存到系统的%SystemRoot%\system32目录中,设置相应的安全权限,使之除管理员之外的其他用户为只读。

  接着,修改注册表:在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下新建字串值doonus,使其数值数据为%SystemRoot%\system32\doonus.exe,保存后退出。

  重启电脑以后,发现此方法有二个很严重的缺陷:一是windows任务管理器的“应用程序”里能看到正在运行的doonus.exe程序(这是暴露目标,泄底!);二是尽管不能在“应用程序”里结束任务doonus(因为结束doonus任务意味着自动注销,这是程序设定的),但可以在“进程”中结束doonus进程(这是致命的
漏洞!)。

  山穷水复疑无路,柳暗花明又一村。突然想到了windows中的“任务计划”,为什么不试试呢?

  双击“控制面板”的“任务计划”,在任务计划窗口中双击“添加任务计划”,在接着打开的窗口中点“下一步”,在接下来的窗口中选择%SystemRoot%\system32目录下的doonus.exe,接着输入任务名称(如doonus)并点选“计算机启动时”或“登录时”(如图1),点“下一步”并在接下来的窗口中输入用户名“abc\administrator”(我想你不会连这也照抄吧?)、密码和确认密码(如图2),最后点“下一步”完成。  

  

请添加描述



  

请添加描述



  终于完成了,重启一下,看看效果怎样?

  说明:以上程序在Windows 2000、VB 6.0下编译通过。

 

上下文章:

 

上一篇文章: Visual Basic的九次蜕变 下一篇文章: 在VB应用程序中调用Excel2000

相关文章:

  • Windows 7用户界面与互动模式
  • 六招助你轻松解决QQ无法登录难题
  • Facebook用户涨至1.2亿 3月内增幅超过前3年
  • PDC 2008究竟会给用户带来什么
  • 谷歌无线波段开放计划遭质疑 被指用户用不起

相关软件:

  • QQ登录助手 2008 2.7.1.1108 纪念版
  • 糖糖QQ防盗登录器 V1.0
  • 多功能QQ防盗登录器 184
  • 限时英语(初中英语学习软件) 6.4
  • win2000开机后自动登录 11.20
  • QQ游戏补丁登录器 2.6

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有