Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
la fenêtre: Status- et Positionsinformationen eines Fensters
Def @Getwindowplacement(2) !USER32,GetWindowPlacement
Def @Getlasterror(0) !KERNEL32,GetLastError
Déclarer Notepad_handle&,Statusinfos&,Fehler&,Windowplacement#,Activewindow&,Setstate&,Show$
Windowstyle 31
Windowtitle Status et Positionsinformationen eines Fensters
Fenêtre 0,0-640,440
Laisser Statusinfos&=@Createbutton(%Hwnd,Statusinfos auslesen,20,100,200,30)
Laisser Setstate&=@Createbutton(%Hwnd,Fensterstatus mettons,20,150,200,30)
Cas @Findwindow(Unbenannt - Editor)=0 : @Winexec(NOTEPAD.EXE,1)
Laisser Notepad_handle&=@Findwindow(Unbenannt - Editor)
@Showwindow(%Hwnd,2)
@Showwindow(%Hwnd,1)
Tandis que 0=0
Laisser Activewindow&=@Getactivewindow()
Sleep 100
Si @Getfocus(Statusinfos&)
@Setactivewindow(Activewindow&)
Clearlist
Addstring Fensterhandle=+@Str$(Notepad_handle&)
Faible Windowplacement#,44
Claire Windowplacement#
Long Windowplacement#,0=44
Addstring dernier API-faute=+@Str$(@Getlasterror())
Laisser Fehler&=@Getwindowplacement(Notepad_handle&,Windowplacement#)
Addstring Rückgabe de GetWindowPlacement=+@Str$(Fehler&)
Addstring dernier API-faute=+@Str$(@Getlasterror())
Addstring Fenstererzeugungsflags=+@Str$(@Long(Windowplacement#,4))
Si @Long(Windowplacement#,4) | $2=@Long(Windowplacement#,4)
Addstring la fenêtre wird chez qui Erzeugung toujours maximiert
Elseif @Long(Windowplacement#,4) | $1=@Long(Windowplacement#,4)
Addstring Fensterposition pour qui Minimierung ist festgelegt
Endif
Addstring ShowCmd=+@Str$(@Long(Windowplacement#,8))
Si @Long(Windowplacement#,8)=$1
Addstring Status=Normale Taille
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 Taille
Elseif @Long(Windowplacement#,8)=$5
Addstring Status=dernier 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 Taille
Elseif @Long(Windowplacement#,8)=$9
Addstring Status=Status=Normale Taille
Endif
Addstring X-Koordinate,si la fenêtre minimiert ist=+@Str$(@Long(Windowplacement#,12))
Addstring Y-Koordinate,si la fenêtre minimiert ist=+@Str$(@Long(Windowplacement#,16))
Addstring X-Koordinate,si la fenêtre maximiert ist=+@Str$(@Long(Windowplacement#,20))
Addstring Y-Koordinate,si la fenêtre maximiert ist=+@Str$(@Long(Windowplacement#,24))
Addstring X-Koordinate dessus à gauche, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,28))
Addstring Y-Koordinate dessus à gauche, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,32))
Addstring X-Koordinate unten à droite, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,36))
Addstring Y-Koordinate unten à droite, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,40))
Dispose Windowplacement#
@Listbox$(Status et Positionsinformat,1)
@SetFocus(Activewindow&)
Elseif @Getfocus(Setstate&)
Laisser Show$=@Contribution$(numéro de 0 jusqu'à 9 eingeben:,Fensterstatus mettons,1)
Si Show$<>
@Showwindow(Notepad_handle&,@Val(Show$))
Clearlist
Addstring Fensterhandle=+@Str$(Notepad_handle&)
Faible Windowplacement#,44
Long Windowplacement#,0=44
Addstring dernier API-faute=+@Str$(@Getlasterror())
Laisser Fehler&=@Getwindowplacement(Notepad_handle&,Windowplacement#)
Addstring Rückgabe de GetWindowPlacement=+@Str$(Fehler&)
Addstring dernier API-faute=+@Str$(@Getlasterror())
Addstring Fenstererzeugungsflags=+@Str$(@Long(Windowplacement#,4))
Si @Long(Windowplacement#,4) | $2=@Long(Windowplacement#,4)
Addstring la fenêtre wird chez qui Erzeugung toujours maximiert
Elseif @Long(Windowplacement#,4) | $1=@Long(Windowplacement#,4)
Addstring Fensterposition pour qui Minimierung ist festgelegt
Endif
Addstring ShowCmd=+@Str$(@Long(Windowplacement#,8))
Si @Long(Windowplacement#,8)=$1
Addstring Status=Normale Taille
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 Taille
Elseif @Long(Windowplacement#,8)=$5
Addstring Status=dernier 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 Taille
Elseif @Long(Windowplacement#,8)=$9
Addstring Status=Status=Normale Taille
Endif
Addstring X-Koordinate,si la fenêtre minimiert ist=+@Str$(@Long(Windowplacement#,12))
Addstring Y-Koordinate,si la fenêtre minimiert ist=+@Str$(@Long(Windowplacement#,16))
Addstring X-Koordinate,si la fenêtre maximiert ist=+@Str$(@Long(Windowplacement#,20))
Addstring Y-Koordinate,si la fenêtre maximiert ist=+@Str$(@Long(Windowplacement#,24))
Addstring X-Koordinate dessus à gauche, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,28))
Addstring Y-Koordinate dessus à gauche, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,32))
Addstring X-Koordinate unten à droite, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,36))
Addstring Y-Koordinate unten à droite, si la fenêtre dans Normalzustand ist=+@Str$(@Long(Windowplacement#,40))
Dispose Windowplacement#
@Listbox$(Status et Positionsinformat,1)
@SetFocus(Activewindow&)
Endif
Endif
Wend