Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
Ventana: Status- y Positionsinformationen uno Fensters
Def @Getwindowplacement(2) !USER32,GetWindowPlacement
Def @Getlasterror(0) !KERNEL32,GetLastError
Declarar Notepad_handle&,Statusinfos&,Fehler&,Windowplacement#,Activewindow&,Setstate&,Show$
Windowstyle 31
Windowtitle Status y Positionsinformationen uno Fensters
Ventana 0,0-640,440
Let Statusinfos&=@Createbutton(%Hwnd,Statusinfos auslesen,20,100,200,30)
Let Setstate&=@Createbutton(%Hwnd,Fensterstatus conjunto,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)
Mientras que 0=0
Let Activewindow&=@Getactivewindow()
Sleep 100
If @Getfocus(Statusinfos&)
@Setactivewindow(Activewindow&)
Clearlist
Addstring Fensterhandle=+@Str$(Notepad_handle&)
Dim Windowplacement#,44
Claro Windowplacement#
Largo Windowplacement#,0=44
Addstring Letzter API-Fehler=+@Str$(@Getlasterror())
Let Fehler&=@Getwindowplacement(Notepad_handle&,Windowplacement#)
Addstring Rückgabe de GetWindowPlacement=+@Str$(Fehler&)
Addstring Letzter API-Fehler=+@Str$(@Getlasterror())
Addstring Fenstererzeugungsflags=+@Str$(@Largo(Windowplacement#,4))
If @Largo(Windowplacement#,4) | $2=@Largo(Windowplacement#,4)
Addstring Ventana se en el Erzeugung siempre maximiert
Elseif @Largo(Windowplacement#,4) | $1=@Largo(Windowplacement#,4)
Addstring Fensterposition para el Minimierung es festgelegt
Endif
Addstring ShowCmd=+@Str$(@Largo(Windowplacement#,8))
If @Largo(Windowplacement#,8)=$1
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$0
Addstring Status=Unsichtbar
Elseif @Largo(Windowplacement#,8)=$2
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$3
Addstring Status=Maximiert
Elseif @Largo(Windowplacement#,8)=$4
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$5
Addstring Status=Letzte Fenstergröße
Elseif @Largo(Windowplacement#,8)=$6
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$7
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$8
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$9
Addstring Status=Status=Normale Größe
Endif
Addstring X-Koordinate,si Ventana minimiert es=+@Str$(@Largo(Windowplacement#,12))
Addstring Y-Koordinate,si Ventana minimiert es=+@Str$(@Largo(Windowplacement#,16))
Addstring X-Koordinate,si Ventana maximiert es=+@Str$(@Largo(Windowplacement#,20))
Addstring Y-Koordinate,si Ventana maximiert es=+@Str$(@Largo(Windowplacement#,24))
Addstring X-Koordinate oben links, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,28))
Addstring Y-Koordinate oben links, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,32))
Addstring X-Koordinate unten rechts, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,36))
Addstring Y-Koordinate unten rechts, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,40))
Disponer Windowplacement#
@Listbox$(Status y Positionsinformat,1)
@Setfocus(Activewindow&)
Elseif @Getfocus(Setstate&)
Let Show$=@Entrada$(Zahl de 0 a 9 eingeben:,Fensterstatus conjunto,1)
If Show$<>
@Showwindow(Notepad_handle&,@Val(Show$))
Clearlist
Addstring Fensterhandle=+@Str$(Notepad_handle&)
Dim Windowplacement#,44
Largo Windowplacement#,0=44
Addstring Letzter API-Fehler=+@Str$(@Getlasterror())
Let Fehler&=@Getwindowplacement(Notepad_handle&,Windowplacement#)
Addstring Rückgabe de GetWindowPlacement=+@Str$(Fehler&)
Addstring Letzter API-Fehler=+@Str$(@Getlasterror())
Addstring Fenstererzeugungsflags=+@Str$(@Largo(Windowplacement#,4))
If @Largo(Windowplacement#,4) | $2=@Largo(Windowplacement#,4)
Addstring Ventana se en el Erzeugung siempre maximiert
Elseif @Largo(Windowplacement#,4) | $1=@Largo(Windowplacement#,4)
Addstring Fensterposition para el Minimierung es festgelegt
Endif
Addstring ShowCmd=+@Str$(@Largo(Windowplacement#,8))
If @Largo(Windowplacement#,8)=$1
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$0
Addstring Status=Unsichtbar
Elseif @Largo(Windowplacement#,8)=$2
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$3
Addstring Status=Maximiert
Elseif @Largo(Windowplacement#,8)=$4
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$5
Addstring Status=Letzte Fenstergröße
Elseif @Largo(Windowplacement#,8)=$6
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$7
Addstring Status=Minimiert
Elseif @Largo(Windowplacement#,8)=$8
Addstring Status=Normale Größe
Elseif @Largo(Windowplacement#,8)=$9
Addstring Status=Status=Normale Größe
Endif
Addstring X-Koordinate,si Ventana minimiert es=+@Str$(@Largo(Windowplacement#,12))
Addstring Y-Koordinate,si Ventana minimiert es=+@Str$(@Largo(Windowplacement#,16))
Addstring X-Koordinate,si Ventana maximiert es=+@Str$(@Largo(Windowplacement#,20))
Addstring Y-Koordinate,si Ventana maximiert es=+@Str$(@Largo(Windowplacement#,24))
Addstring X-Koordinate oben links, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,28))
Addstring Y-Koordinate oben links, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,32))
Addstring X-Koordinate unten rechts, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,36))
Addstring Y-Koordinate unten rechts, si Ventana en Normalzustand es=+@Str$(@Largo(Windowplacement#,40))
Disponer Windowplacement#
@Listbox$(Status y Positionsinformat,1)
@Setfocus(Activewindow&)
Endif
Endif
Wend