Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Creat0R »
- А если панель с верху ? или с боку ... (Если с права то я вообще окна не нашол)

Я вот себе делал ... если панель не внизу - то окошко создаётся посередине десктопа.
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $aPositionToolBar[3]
Global $aPositionToolBar = ControlGetPos("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; INSTANCE:2]")

Switch _PosToolbarWindow()

    Case 1
        $WIDTH_GUI = 280
        $HEIGHT_GUI = 70
        $TOP_GUI = @DesktopHeight - $HEIGHT_GUI * 1.35 - $aPositionToolBar[3]
        $LEFT_GUI = @DesktopWidth - $WIDTH_GUI - 5

    Case 2 To 5
        $WIDTH_GUI = 280
        $HEIGHT_GUI = 70
        $LEFT_GUI = @DesktopWidth / 2 - $WIDTH_GUI / 2
        $TOP_GUI = @DesktopHeight / 2 - $HEIGHT_GUI / 2

EndSwitch

GUICreate("", $WIDTH_GUI, $HEIGHT_GUI, $LEFT_GUI, $TOP_GUI, -1, BitOR($WS_EX_APPWINDOW, $WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
GUISetState()

Do
Until GUIGetMsg() = -3
Exit

Func _PosToolbarWindow()

Global $aReturnValue[5]
        $aReturnValue[0] = 1
        $aReturnValue[1] = 2
        $aReturnValue[2] = 3
        $aReturnValue[3] = 4
        $aReturnValue[4] = 5

    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

Отправлено: 17:21, 16-09-2009 | #3