Article ID: 195516
Article Last Modified on 7/1/2004
"Get Window Handle"
"Make Topmost Window"
"Restore Window State"
"Quit"
frmcaption
formhandle
THISFORM.frmcaption = THIS.CAPTION && Get the window caption.
DECLARE LONG FindWindowA IN WIN32API ;
STRING class, ;
STRING title
DECLARE SetWindowPos IN WIN32API ;
LONG HWND, ;
LONG hwndafter, ;
LONG x, ;
LONG Y, ;
LONG cx, ;
LONG cy, ;
LONG flags
THISFORM.formhandle = 0
* If you want to use the class for the application,
* use Fox_4000001 for VFP 3 and 5 or VFP66400000 for VFP 6.
* For example,
* THISFORM.formhandle = ;
* FindWindowA("VFP66400000", THISFORM.frmcaption)
* Pass a 0 to class to search for all child windows
* Be sure the form name is unique though.
* The FindWindowA API returns a non-zero number if the
* child window is found.
THISFORM.formhandle = FindWindowA(0,THISFORM.frmcaption)
IF THISFORM.formhandle = 0
=MESSAGEBOX("Unable to get window handle.")
ELSE
=MESSAGEBOX("Found the window. The handle is ";
+ALLTRIM(STR(THISFORM.formhandle)))
ENDIF
IF THISFORM.formhandle = 0
=MESSAGEBOX("You have not obtained a handle to the windows yet")
RETURN
ENDIF
swp_nosize = 1
swp_nomove = 2
hwnd_topmost = -1
hwnd_notopmost = -2
lretval=0
lretval = SetWindowPos(THISFORM.formhandle,hwnd_topmost,;
0,0,0,0,swp_nosize+swp_nomove)
IF THISFORM.formhandle = 0
=MESSAGEBOX("You have not obtained a handle to the windows yet")
RETURN
ENDIF
swp_nosize = 1
swp_nomove = 2
hwnd_topmost = -1
hwnd_notopmost = -2
* Call the SetWindowPos API to return form to prior window state
lretval=0
lretval = SetWindowPos(THISFORM.formhandle,hwnd_notopmost,;
0,0,0,0,swp_nosize+swp_nomove)
THISFORM.RELEASE
Keywords: kbhowto kbdesigner KB195516