用过98的朋友都知道98自带了一个身份验证的程序,但它对不联网的计算机的安全不起什么保护作用。按一下"Esc"或者点击"取消",就可以进入系统。基于这点本程序将做到:
1) 假如用户不能正确输入用户信息将不能进入系统。
2) 屏蔽Ctrl Alt Del组合键,避免用户利用"结束任务"关闭程序。
3) 程序窗体上不能有关闭按钮。
4) 限制用户输入信息的次数,超过三次就关闭计算机。
5)避免程序进行非法操作,否则, 呵呵,Windows可会通过一个非法操作对话框自动结束程序的。
明确了注重事项,我们就可以开始了。
首先进入VB界面,启动一个"标准EXE"程序。
建立下面这个窗体
 图 1 |
具体步骤是:
鼠标单击Form1窗体。在属性框(Properties)(如图2)中设置窗体的"名称"为frmMain,接下来程序中就用这个名字代替这个窗体了,把属性列表最下边的Windowstate属性设置为"2-Maximized"。BorderStyle 属性设置为 0-None,去掉窗体上边的按钮。程序中每个窗体和控件都有自己的属性集合,用鼠标选中它们属性窗口中都会显示出被选中物体的属性集。注重,因为本程序要求用户输入密码,为了防止别人看到密码,我们可以修改textbox控件的password属性,随便设置一个字符就可以,包括空格。
复制于hot007.com
 图2
|
在VB界面的右下角有一个叫做"窗体布局"的窗体,在其中可以看到一个"显示器"和代表程序窗体的图形,通过拖动该图形移动可以改变窗体运行时窗体在实际屏幕中的位置。一般把它设在屏幕中间偏上的位置。如图3所示:
 图3
|
VB带有很多图标(.ICO格式的),它们都位于\Microsoft Visual Studio\Common\Graphic\Icon\目录。Picture box控件中的笑脸图片来自那里。窗体中"用户名"及"口令"的后边设置快捷键的方法是在相应Label的caption属性中输入"名称(&字母)",比如窗体中"用户名(U)"标签的Caption属性应设置为"用户名(&U)"。这样按"Alt 字母"就可以直接写那部分信息了。写入汉字之后,假如绘制的Label比输入的信息的空间大,你会发现输入的字都在标签的左边,假如你不想这样,单击"用户名"标签,在"属性"窗口中的"名称"下边找到"Alignment"属性,它的属性控制字符在容器中的位置,其中的英语标出了它的三种状态。按照你的喜好挑选就行了。
hot007.com 现在添加其他的窗体,选中图4中"工程资源治理器"窗体中的frmMain,
 图4 |
用鼠标右键点击它(开始时"窗体"中只有frmMain),出现一个弹出的菜单,在依次选择"添加"-〉"添加窗体",选择"新建"-〉"窗体",点击"确定"。在"属性"中设置它的"名称"为frmAdduser,最后结果如图5所示
 图5 |
在添加窗体的时候,我们也可以在出现的选择窗体类型的窗体中选择那些系统预制的窗体。比如我们可以选择其中的"登录对话框"作为修改用户信息前的身份验证窗体。按照上述步骤添加该窗体。选择预制的窗体的好处是很多属性不用设置,比较适合像我这样的懒人。添加后的窗体如图6所示
www.hot007.com
 图6 |
依次添入其他两个窗体,分别命名为frmBoard(图7)和frmAbout(图8)
 图7 |
 图8 |
窗体建完了。我们可以开始编写程序了。
为了屏蔽Ctrl Alt Del组合键,须调用一个Windows API(Application Programming Interface,应用程序接口)函数。该函数的声明最好放在模块(module)中,那样每个窗体的程序中都可以调用它。
hot007.com 在工程中添加一个模块(module),具体步骤与添加窗体类似。编程时读者自己实践一下就知道了。先添加一个模块,然后在VB界面的主菜单中单击"外接程序"选择"外接程序治理器"在出现的窗口中选择"VB 6 API Viewer"并双击它。在它的后边会出现"加载"。单击"确定"关闭窗口。这时"外接程序"中出现"API 浏览器"选项,选择它,屏幕上会出现"API浏览器"的窗口,单击"文件"-〉"加载文本文件"-〉win32api.txt,在可用项中选择SystemParametersInfo(屏蔽Ctrl Alt Del的函数),单击"添加",之后单击"插入",将SystemParametersInfo函数的声明部分加入到模块中,按同样的步骤添加函数 ExitWindowsEx函数(调用它可以关闭计算机)。Api函数调用后,要给它的常数付值,比如ExitWindowsEx的常数EWX_FORCE和EWX_SHUTDOWN都要付值,否则函数无效。模块部分的具体代码如下:
共2页: 上一页 1 [2] 下一页