需要得到当前桌面(不包括任务栏)的有效位置。比方任务栏在上方,此时桌面的有效位置就是从任务栏底端开始到最下面那块范围的top left height width.谢谢高手

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3956/3956823.xml?temp=.9686396
      

  2.   

    用API函数GetWorkArea ---读取工作区域的位置及大小由于任务栏的方位和大小可由使用者自由设置,因此要读取工作区位置及大小时,须将uAction参数设置为SPI_GETWORKAREA,然后调用SystemParametersinfo函数参数:uAction:SPI_GETWORKAREA=48,读取工作区位置及大小
          uParam:没有作用,指定为0即可
          lpvParam:RECT数据结构的地址,RECT数据结构定义如下:
                  private type RECT
                          left as long
                          top as long
                          right as long
                          bottom as long
                  end type
          fuWinIni:没有作用
    调用例:dim r as rect
            systemparametersinfobyref spi_getworkarea,0,rc,0
            '调用后,(r.left,r.top)等于工作区的左上角,
            '(r.right,r.bottom)等于工作区的右下角
    例:
    1、界面
    Option ExplicitPrivate Sub Command1_Click()
        Dim r As RECT
        SystemParametersInfoByRef SPI_GETWORKAREA, 0, r, 0
        Text1.Text = r.Left
        Text2.Text = r.Top
        Text3.Text = r.Right
        Text4.Text = r.Bottom
    End Sub2、模块1
    Option ExplicitType RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End TypeDeclare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
    Declare Function SystemParametersInfoByRef Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long
    3、模块2
    Public Const SPI_GETACCESSTIMEOUT = 60
    Public Const SPI_GETANIMATION = 72
    Public Const SPI_GETBEEP = 1
    Public Const SPI_GETBORDER = 5
    Public Const SPI_GETDEFAULTINPUTLANG = 89
    Public Const SPI_GETDRAGFULLWINDOWS = 38
    Public Const SPI_GETFASTTASKSWITCH = 35
    Public Const SPI_GETFILTERKEYS = 50
    Public Const SPI_GETFONTSMOOTHING = 74
    Public Const SPI_GETGRIDGRANULARITY = 18
    Public Const SPI_GETHIGHCONTRAST = 66
    Public Const SPI_GETICONMETRICS = 45
    Public Const SPI_GETICONTITLELOGFONT = 31
    Public Const SPI_GETICONTITLEWRAP = 25
    Public Const SPI_GETKEYBOARDDELAY = 22
    Public Const SPI_GETKEYBOARDPREF = 68
    Public Const SPI_GETKEYBOARDSPEED = 10
    Public Const SPI_GETLOWPOWERACTIVE = 83
    Public Const SPI_GETLOWPOWERTIMEOUT = 79
    Public Const SPI_GETMENUDROPALIGNMENT = 27
    Public Const SPI_GETMINIMIZEDMETRICS = 43
    Public Const SPI_GETMOUSE = 3
    Public Const SPI_GETMOUSEKEYS = 54
    Public Const SPI_GETMOUSETRAILS = 94
    Public Const SPI_GETNONCLIENTMETRICS = 41
    Public Const SPI_GETPOWEROFFACTIVE = 84
    Public Const SPI_GETPOWEROFFTIMEOUT = 80
    Public Const SPI_GETSCREENREADER = 70
    Public Const SPI_GETSCREENSAVEACTIVE = 16
    Public Const SPI_GETSCREENSAVETIMEOUT = 14
    Public Const SPI_GETSERIALKEYS = 62
    Public Const SPI_GETSHOWSOUNDS = 56
    Public Const SPI_GETSOUNDSENTRY = 64
    Public Const SPI_GETSTICKYKEYS = 58
    Public Const SPI_GETTOGGLEKEYS = 52
    Public Const SPI_GETWINDOWSEXTENSION = 92
    Public Const SPI_GETWORKAREA = 48
    Public Const SPI_ICONHORIZONTALSPACING = 13
    Public Const SPI_ICONVERTICALSPACING = 24
    Public Const SPI_LANGDRIVER = 12
    Public Const SPI_SCREENSAVERRUNNING = 97
    Public Const SPI_SETACCESSTIMEOUT = 61
    Public Const SPI_SETANIMATION = 73
    Public Const SPI_SETBEEP = 2
    Public Const SPI_SETBORDER = 6
    Public Const SPI_SETCURSORS = 87
    Public Const SPI_SETDEFAULTINPUTLANG = 90
    Public Const SPI_SETDESKPATTERN = 21
    Public Const SPI_SETDESKWALLPAPER = 20
    Public Const SPI_SETDOUBLECLICKTIME = 32
    Public Const SPI_SETDOUBLECLKHEIGHT = 30
    Public Const SPI_SETDOUBLECLKWIDTH = 29
    Public Const SPI_SETDRAGFULLWINDOWS = 37
    Public Const SPI_SETDRAGHEIGHT = 77
    Public Const SPI_SETDRAGWIDTH = 76
    Public Const SPI_SETFASTTASKSWITCH = 36
    Public Const SPI_SETFILTERKEYS = 51
    Public Const SPI_SETFONTSMOOTHING = 75
    Public Const SPI_SETGRIDGRANULARITY = 19
    Public Const SPI_SETHANDHELD = 78
    Public Const SPI_SETHIGHCONTRAST = 67
    Public Const SPI_SETICONMETRICS = 46
    Public Const SPI_SETICONS = 88
    Public Const SPI_SETICONTITLELOGFONT = 34
    Public Const SPI_SETICONTITLEWRAP = 26
    Public Const SPI_SETKEYBOARDDELAY = 23
    Public Const SPI_SETKEYBOARDPREF = 69
    Public Const SPI_SETKEYBOARDSPEED = 11
    Public Const SPI_SETLANGTOGGLE = 91
    Public Const SPI_SETLOWPOWERACTIVE = 85
    Public Const SPI_SETLOWPOWERTIMEOUT = 81
    Public Const SPI_SETMENUDROPALIGNMENT = 28
    Public Const SPI_SETMINIMIZEDMETRICS = 44
    Public Const SPI_SETMOUSE = 4
    Public Const SPI_SETMOUSEBUTTONSWAP = 33
    Public Const SPI_SETMOUSEKEYS = 55
    Public Const SPI_SETMOUSETRAILS = 93
    Public Const SPI_SETNONCLIENTMETRICS = 42
    Public Const SPI_SETPENWINDOWS = 49
    Public Const SPI_SETPOWEROFFACTIVE = 86
    Public Const SPI_SETPOWEROFFTIMEOUT = 82
    Public Const SPI_SETSCREENREADER = 71
    Public Const SPI_SETSCREENSAVEACTIVE = 17
    Public Const SPI_SETSCREENSAVETIMEOUT = 15
    Public Const SPI_SETSERIALKEYS = 63
    Public Const SPI_SETSHOWSOUNDS = 57
    Public Const SPI_SETSOUNDSENTRY = 65
    Public Const SPI_SETSTICKYKEYS = 59
    Public Const SPI_SETTOGGLEKEYS = 53
    Public Const SPI_SETWORKAREA = 47Public Const SPIF_UPDATEINIFILE = &H1
    Public Const SPIF_SENDWININICHANGE = &H2