1、如何关闭计算机?
*API函数声明
Declare Function ExitWindows Lib "User" (ByVal dwReturnCode As Long, ByVal wReserved As Integer) As Integer
注释:执行
Dim DUMMY
DUMMY=ExitWindows(0,0)
2、在程序中如何打开和关闭光驱门?
*API函数声明如下:
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
注释:调用时的代码如下
Dim Ret As Long
Dim RetStr As String
注释:打开光驱门
Ret = mciSendString("set CDAudio door open", RetStr, 0, 0)
注释:关闭光驱门
Ret = mciSendString("set CDAudio door closed", RetStr, 0, 0)
3、怎样使Ctrl-Alt-Delete无效?
*API函数声明
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
编写如下函数:
Sub DisableCtrlAltDelete(bDisabled As Boolean)
Dim X As Long
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub
使Ctrl-Alt-Delete无效 :
Call DisableCtrlAltDelete(True)
恢复Ctrl-Alt-Delete :
Call DisableCtrlAltDelete(False)
4、怎样确定系统是否安装了声卡?
*API函数声明:
Declare Function waveOutGetNumDevs Lib "winmm.dll" Alias "waveOutGetNumDevs" () As Long
代码如下:
Dim I As Integer
I = waveOutGetNumDevs()
If I > 0 Then MsgBox "你的系统可以播放声音。", vbInformation, "声卡检测"
Else
MsgBox "你的系统不能播放声音。", vbInformation, "声卡检测"
End If
5、如何找到CD-ROM驱动器的盘号?
下面的函数将检查你计算机所有的驱动器看是否是 CD-ROM,如果是就返回驱动器号,如果没有就返回空字符
Public Function GetCDROMDrive() As String
Dim lType As Long,I As Integer,tmpDrive as String,found as Boolean
On Error GoTo errL
For I = 0 To 25
tmpDrive = Chr(65 + I) & ":"
lType = GetDriveType(tmpDrive) 注释:Win32 API 函数
If (lType = DRIVE_CDROM) Then 注释:Win32 API 常数
found = True
Exit For
End If
Next
If Not found Then tmpDrive = ""
BI_GetCDROMDrive = tmpDrive
exit Function
errL: msgbox error$
End Function
6、如何将文件放入回收站?
**API函数声明
Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End Type
Public Declare Function SHFileOperation Lib _ "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Const FO_Delete = &H3
Public Const FOF_ALLOWUNDO = &H40
注释:调用
Dim Shop As SHFILEOPSTRUCT, strFile as string
With Shop
.wFunc = FO_Delete
.pFrom = strFile + Chr(0)
.fFlags = FOF_ALLOWUNDO
End With
7、如何得知键盘number lock等开关键的状态?
Declare Function GetKeyState Lib "User32" (ByVal lngVirtKey As Long) As Integer
GetKeyState(vbKeyNumLock)
GetKeyState(vbKeyCapital)