Win95以其崭新精致的外观、简便快捷的操作方式,让你尽享操作平台之乐趣。同属Microsoft公
司的Visual Basic不仅仅是一门
计算机语言,还是一个集应用
程序开发、测试、查错功能于一体的功能
强大的集成式开发环境, 数百万的
程序员受益于此。
Visual Basic一个强大的特性是它具有调用驻留在动态连接库(DLL)文件中的函数功能,其中包
括由Windows提供和使用的所有函数。对几百个函数以及DLL所包含的其它函数的存取将Visual Basic
的功能进行了大大的扩充,其功能远远超出其它语言,真有种“信手拈来”之神韵,毕竟Visual Basic
是Microsoft公司的“嫡系部队”。 你可以在你的应用
程序中利用WINDOWS API提供的数百个API接口
函数进行扩充,加速应用程序的建立,减少
程序开发的重复性(比尔.盖茨找你打版权官司可不关我事!
——喔喔!)
所谓API就是“应用
程序接口”(Application Programing Interface),是一些用C语言编写由操作系统
自身调用的函数。Windows API函数由许多“动态连接库”或DLL组成。在32位Windows中,核心的Windows
API DLL有如下一些:
gdi32.dll--------图形显示界面的API
kernel32.dll-----处理低级任务(比如内存和任务管理)的API
user32.dll-------处理窗口和消息(Visual Basic
程序员能把其中一些当作事件访问)的API
还不断有新的API出现,处理新的操作系统扩展,比如E-MAIL、联网和新的外设。
由于Windows API函数不是Visual Basic内部函数,所以在使用它们之前必须显式地加以声明。要
想得到正确格式化的函数声明,可以访问WINAPI目录下的文件WIN32API.TXT。
本文只对Win95系统API函数加以说明并调用Win95内置功能。例如,我们可以直接调用标准化的“重
新启动”、“磁盘格式化”、调用并更改标准“关于窗口”、查看“属性”、 设置“墙纸”、 建立快捷键、
确定内存、读写“
注册表”、在建立状态栏图标等。
? 重新启动
有些应用
程序安装完毕要求重新启动一次,以使设置生效,可利用ExitWindowsEx函数实现。
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved
As Long) As Long
Private Sub Command1_Click()
ExitWindowsEx &H43, 0
End Sub
? 磁盘格式化
当鼠标右键单击“3.5软盘A”并选择“格式化”时,则弹出标准的“磁盘格式化”窗口。我们
也可以在应用
程序中利用函数轻松调用Windows 95标准的“磁盘格式化”窗口,以实现对磁盘相应
的操作功能。
窗体加入如下代码:
Private Sub Form_Click()
FormatFloppy
End Sub
加入代码如下的模块:
Public Const WM_CLOSE = &H10
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal
lpWindowName As Any) As Long
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal
lpBuffer As String, ByVal nSize As Long) As Long
Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long,
ByVal X As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
As Long
Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds