Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Вернуть положение на экране панели задач (http://forum.oszone.net/showthread.php?t=149945)

FlatX007 07-09-2009 14:32 1213342

Вернуть положение на экране панели задач
 
Тут состряпал функцию - она должна возвращать положение на экране панели задач, но всё осложняется если панель скрывается (координаты получаются одинаковые - для верх и низ, лево и право).

Можно как либо решить эту проблему, необязательно этой функцией может есть другой способ ?

Код:

MsgBox(64, "PosToolbarWindow", "Положение панели задач : " & _PosToolbarWindow())

Func _PosToolbarWindow()

    Dim $aReturnValue[5]
        $aReturnValue[0] = "bottom"
        $aReturnValue[1] = "top"
        $aReturnValue[2] = "right"
        $aReturnValue[3] = "left"
        $aReturnValue[4] = "hide"

    Local $vPosToolbarWindow = ControlGetPos( "[CLASS:Shell_TrayWnd]", "", "[CLASS:ReBarWindow32; INSTANCE:1]")
    Local $vPosProgramManager = ControlGetPos( "[CLASS:Progman]", "", "[CLASS:SysListView32; INSTANCE:1]")

    If $vPosProgramManager[2] = @DesktopWidth And $vPosProgramManager[3] = @DesktopHeight Then
        Return
$aReturnValue[4]

    Else
        If
$vPosToolbarWindow[1] = 0 Then
            If
$vPosProgramManager[1] = 0 Then Return $aReturnValue[0]
            If $vPosProgramManager[1] > 0 Then Return $aReturnValue[1]
        EndIf

        If
$vPosToolbarWindow[0] = 0 Then
            If
$vPosProgramManager[0] = 0 Then Return $aReturnValue[2]
            If $vPosProgramManager[0] > 0 Then Return $aReturnValue[3]
        EndIf
    EndIf

EndFunc



Время: 07:25.

Время: 07:25.
© OSzone.net 2001-