Español
Stammtisch & Café

GetWindowPlacement.

 


Descripción:

GetWindowPlacement liest Informationen encima el augenblicklichen Status y en voraussichtliche Fensterposition de, si se una Ventana en un determinado Status befindet.




Deklaration:

DEF @GetWindowPlacement(2) !USER32,GetWindowPlacement




Parámetro:

1.Parámetro: WINDOWPLACEMENT Struktur oder 44 Byte große Bereichsvariable, el Informationen encima el Status y el voraussichtliche Fensterposition de, si se una Ventana en un determinado Status befindet aufnimmt.=>
-Byte 0-3 = Größe el Bereichsvariablen en Bytes
-Byte 4-7 = Kombinationsflag para el Fenstererzeugung y Minimierung:
$1 = (WPF_SETMINPOSITION) Fensterposition para el Minimierung es festgelegt y es en Byte 12 a Byte 19.
$2 = (WPF_RESTORETOMAXIMIZED) Ventana se en Erzeugung siempre maximiert.
-Byte 8-11 = Ein Statusflag.=>
$1 = (SW_SHOWNORMAL) Normale Fenstergröße.
$2 = (SW_SHOWMINIMIZED) Minimiert
$3 = (SW_SHOWMAXIMIZED) Maximiert
-Byte 12-15 = X-Koordinate,si Ventana minimiert es.
-Byte 16-19 = Y-Koordinate,si Ventana minimiert es.
-Byte 20-23 = X-Koordinate,si Ventana maximiert es.
-Byte 24-27 = Y-Koordinate,si Ventana maximiert es.
-Byte 28-31 = X-Koordinate oben links, si Ventana en Normalzustand es.
-Byte 32-35 = Y-Koordinate oben links, si Ventana en Normalzustand es.
-Byte 36-39 = X-Koordinate unten rechts, si Ventana en Normalzustand es.
-Byte 40-43 = Y-Koordinate unten rechts, si Ventana en Normalzustand es.



Rückgabewert:

1 en erfolgreichem Auslesen, 0 en Fehler.


Beispiele:

KompilierenMarcaSeparación
DEF @GetWindowPlacement(2) !USER32,GetWindowPlacement
DEF @GetLastError(0) !KERNEL32,GetLastError
Declare NOTEPAD_HANDLE&,Statusinfos&,Fehler&,WINDOWPLACEMENT#,ActiveWindow&,SetState&,Show$
Windowstyle 31
Windowtitle Status und Positionsinformationen eines Fensters
Window 0,0-640,440
LET STATUSINFOS&=@CreateButton(%HWND,Statusinfos auslesen,20,100,200,30)
LET SetState&=@CreateButton(%HWND,Fensterstatus setzen,20,150,200,30)
CASE @FINDWINDOW(Unbenannt - Editor)=0 : @WINEXEC(NOTEPAD.EXE,1)
LET NOTEPAD_HANDLE&=@FINDWINDOW(Unbenannt - Editor)
@Showwindow(%HWND,2)
@Showwindow(%HWND,1)

While 0=0

    LET ActiveWindow&=@GetActiveWindow()
    Sleep 100

    IF @Getfocus(STATUSINFOS&)

        @SetActiveWindow(ActiveWindow&)
        Clearlist
        ADDSTRING Fensterhandle=+@STR$(NOTEPAD_HANDLE&)
        DIM WINDOWPLACEMENT#,44
        Clear WINDOWPLACEMENT#
        Long WINDOWPLACEMENT#,0=44
        ADDSTRING Letzter API-Fehler=+@STR$(@GetLastError())
        LET FEHLER&=@GetWindowPlacement(NOTEPAD_HANDLE&,WINDOWPLACEMENT#)
        ADDSTRING Rückgabe von GetWindowPlacement=+@STR$(Fehler&)
        ADDSTRING Letzter API-Fehler=+@STR$(@GetLastError())
        ADDSTRING Fenstererzeugungsflags=+@STR$(@LONG(WINDOWPLACEMENT#,4))

        IF @LONG(WINDOWPLACEMENT#,4) | $2=@LONG(WINDOWPLACEMENT#,4)

            ADDSTRING Fenster wird bei der Erzeugung immer maximiert

        ElseIF @LONG(WINDOWPLACEMENT#,4) | $1=@LONG(WINDOWPLACEMENT#,4)

            ADDSTRING Fensterposition für die Minimierung ist festgelegt

        endif

        ADDSTRING ShowCmd=+@STR$(@LONG(WINDOWPLACEMENT#,8))

        IF @LONG(WINDOWPLACEMENT#,8)=$1

            ADDSTRING Status=Normale Größe

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$0

            ADDSTRING Status=Unsichtbar

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$2

            ADDSTRING Status=Minimiert

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$3

            ADDSTRING Status=Maximiert

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$4

            ADDSTRING Status=Normale Größe

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$5

            ADDSTRING Status=Letzte Fenstergröße

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$6

            ADDSTRING Status=Minimiert

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$7

            ADDSTRING Status=Minimiert

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$8

            ADDSTRING Status=Normale Größe

        ElseIF @LONG(WINDOWPLACEMENT#,8)=$9

            ADDSTRING Status=Status=Normale Größe

        Endif

        ADDSTRING X-Koordinate,wenn Fenster minimiert ist=+@str$(@LONG(WINDOWPLACEMENT#,12))
        ADDSTRING Y-Koordinate,wenn Fenster minimiert ist=+@str$(@LONG(WINDOWPLACEMENT#,16))
        ADDSTRING X-Koordinate,wenn Fenster maximiert ist=+@str$(@LONG(WINDOWPLACEMENT#,20))
        ADDSTRING Y-Koordinate,wenn Fenster maximiert ist=+@str$(@LONG(WINDOWPLACEMENT#,24))
        ADDSTRING X-Koordinate oben links, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,28))
        ADDSTRING Y-Koordinate oben links, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,32))
        ADDSTRING X-Koordinate unten rechts, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,36))
        ADDSTRING Y-Koordinate unten rechts, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,40))
        Dispose WINDOWPLACEMENT#
        @LISTBOX$(Status und Positionsinformat,1)
        @SetFocus(ActiveWindow&)

    Elseif @Getfocus(SetState&)

        LET SHOW$=@INPUT$(Zahl von 0 bis 9 eingeben:,Fensterstatus setzen,1)

        IF Show$<>

            @Showwindow(NOTEPAD_HANDLE&,@VAL(Show$))
            Clearlist
            ADDSTRING Fensterhandle=+@STR$(NOTEPAD_HANDLE&)
            DIM WINDOWPLACEMENT#,44
            Long WINDOWPLACEMENT#,0=44
            ADDSTRING Letzter API-Fehler=+@STR$(@GetLastError())
            LET FEHLER&=@GetWindowPlacement(NOTEPAD_HANDLE&,WINDOWPLACEMENT#)
            ADDSTRING Rückgabe von GetWindowPlacement=+@STR$(Fehler&)
            ADDSTRING Letzter API-Fehler=+@STR$(@GetLastError())
            ADDSTRING Fenstererzeugungsflags=+@STR$(@LONG(WINDOWPLACEMENT#,4))

            IF @LONG(WINDOWPLACEMENT#,4) | $2=@LONG(WINDOWPLACEMENT#,4)

                ADDSTRING Fenster wird bei der Erzeugung immer maximiert

            ElseIF @LONG(WINDOWPLACEMENT#,4) | $1=@LONG(WINDOWPLACEMENT#,4)

                ADDSTRING Fensterposition für die Minimierung ist festgelegt

            endif

            ADDSTRING ShowCmd=+@STR$(@LONG(WINDOWPLACEMENT#,8))

            IF @LONG(WINDOWPLACEMENT#,8)=$1

                ADDSTRING Status=Normale Größe

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$0

                ADDSTRING Status=Unsichtbar

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$2

                ADDSTRING Status=Minimiert

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$3

                ADDSTRING Status=Maximiert

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$4

                ADDSTRING Status=Normale Größe

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$5

                ADDSTRING Status=Letzte Fenstergröße

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$6

                ADDSTRING Status=Minimiert

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$7

                ADDSTRING Status=Minimiert

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$8

                ADDSTRING Status=Normale Größe

            ElseIF @LONG(WINDOWPLACEMENT#,8)=$9

                ADDSTRING Status=Status=Normale Größe

            Endif

            ADDSTRING X-Koordinate,wenn Fenster minimiert ist=+@str$(@LONG(WINDOWPLACEMENT#,12))
            ADDSTRING Y-Koordinate,wenn Fenster minimiert ist=+@str$(@LONG(WINDOWPLACEMENT#,16))
            ADDSTRING X-Koordinate,wenn Fenster maximiert ist=+@str$(@LONG(WINDOWPLACEMENT#,20))
            ADDSTRING Y-Koordinate,wenn Fenster maximiert ist=+@str$(@LONG(WINDOWPLACEMENT#,24))
            ADDSTRING X-Koordinate oben links, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,28))
            ADDSTRING Y-Koordinate oben links, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,32))
            ADDSTRING X-Koordinate unten rechts, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,36))
            ADDSTRING Y-Koordinate unten rechts, wenn Fenster in Normalzustand ist=+@str$(@LONG(WINDOWPLACEMENT#,40))
            Dispose WINDOWPLACEMENT#
            @LISTBOX$(Status und Positionsinformat,1)
            @SetFocus(ActiveWindow&)

        endif

    ENDIF

Wend



Ventana Status Position vorausberechnen X Y Koordinaten minimiert maximiert Normalzustand normal

 
25.04.2005  
 



Einfache Ableitung para GetWindowPlacement: Gegenstück para XProfan-Showwindow
KompilierenMarcaSeparación
proc getshowwindow

    parameters hdl&
    declare res#,wmode&
    dim res#,44
    clear res#
    long res#,0=44
    external(USER32,GetWindowPlacement,hdl&,res#)
    wmode&=long(res#,8)

    ifnot ( wmode& )

        wmode&=0

    elseif ( wmode&=3 )

        wmode&= 3

    elseif ( wmode&=2 | wmode&=6 | wmode&=7 )

        wmode&= 2

    elseif ( wmode&=1 | wmode&=4 | wmode&=5 | wmode&=8 | wmode&=9 )

        wmode&=1

    endif

    dispose res#
    return wmode&

ENDPROC

 
04.05.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.316 Views

Untitledvor 0 min.
ByteAttack02.11.2015

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (1x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie