VB,帮我在每行的后面翻译这个小程序,我交作业,尽量详细

2025-05-20 01:08:00
推荐回答(1个)
回答1:

Option Explicit
Const SPI_GETWORKAREA = 48'检索主显示器的工作区大小
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
'该函数查询或设置系统级参数
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, _
ByVal fuWinIni As Long) As Long
'uAction:该参数指定要查询或设置的系统级参数
'uParam:与查询或设置的系统参数有关
'lpvParam:与查询或设置的系统参数有关
'fWinlni:如果设置系统参数,则它用来指定是否更新用户配置文件(Profile)。
'最重要的是这个API函数返回时BOOL型
Private Sub Command1_Click()
Dim lRet As Long '调用该函数后的返回值
Dim apiRECT As RECT

lRet = SystemParametersInfo(SPI_GETWORKAREA, vbNull, apiRECT, 0)
If lRet Then’返回值为1,就做以下内容
'apiRECT.Right - apiRECT.Left的差就是宽度
'apiRECT.Bottom - apiRECT.Top的差就是高度
Label1.Caption = "宽: " & apiRECT.Right - apiRECT.Left & " 高: " & apiRECT.Bottom - apiRECT.Top
Else返回值为0则调用失败
Print "调用 SystemParametersInfo 失败"
End If
End Sub

Private Sub Command2_Click()
End'退出程序
End Sub
整个程序没什么,主要就是SystemParametersinfo这个API函数,你可以参照http://baike.baidu.com/view/1079845.htm里关于这个函数的详细介绍,了解了这个函数的各个参数是干什么的,你就能明白这段代码了。因为除去这个API函数,里面只是一个IF THEN语句罢了