读书人

SystemParametersInfo SPI_GETWORKARE

发布时间: 2012-04-19 14:36:43 作者: rapoo

SystemParametersInfo SPI_GETWORKAREA的一个很蹊跷的问题
代码如下
在一个标准模块中声明了SystemParametersInfo 和相应常数,结构

VB code
Public 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 Public Type RECT   'SystemParametersInfo的lpvParam参数在SPI_GETWkarea下的结构要求        Left As Long        Bottom As Long        Right As Long        Top As LongEnd TypePublic Const SPI_GETWORKAREA = 48

在一个窗体的装载事件里面我想用这个函数来设置窗体的大小
VB code
Private Sub Form_Load()Dim wkarea As RECT'先声明一个RECT型的变量SystemParametersInfo SPI_GETWORKAREA, 0, wkarea, 0'就是在这句出问题Me.Left = (wkarea.Left / Screen.TwipsPerPixelX)Me.Top = (wkarea.Top / Screen.TwipsPerPixelY)Me.Width = (wkarea.Right - wkarea.Left) / Screen.TwipsPerPixelXMe.Height = (wkarea.Bottom - wkarea.Top) / Screen.TwipsPerPixelYEnd Sub

SystemParametersInfo SPI_GETWORKAREA, 0, wkarea, 0调试的时候每次运行到这句wkarea都发生类型不匹配
我查过API,第三个参数的确必须是RECT,
求解!!!


[解决办法]
VB code
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal _                        uAction As Long, ByVal _                        uParam As Long, ByRef _                        lpvParam As Any, ByVal _                        fuWinIni As Long) As Long
[解决办法]
恭喜,恭喜,蹭分蹭分

读书人网 >VB

热点推荐