| Here's a win32 solution: 
 
 
?win32
Extern "win32"
	Function GetActiveWindow%()
	Function GetDesktopWindow%()
        Function GetWindowRect%(hWnd%, lpRect: Byte Ptr)
        Function SetWindowPos%(hWnd%, after%, x%, y%, w%, h%, flags%)
End Extern
?
Type TRect
	Field L%, T%, R%, B%
End Type
' -----------------------------------------------------------------------------
' ccCentreWindow
' -----------------------------------------------------------------------------
Function ccCentreWindow()
	'Centres the current graphics window on the desktop
	?Win32
	Local hWnd% = GetActiveWindow()
	ccCentreWindowHandle(hWnd%)
	?
End Function
Function ccCentreWindowHandle(hWnd%)
	'Centres the current graphics window on the desktop
	'Pass a handle in
	?Win32
	Local desk_hWnd% = GetDesktopWindow()
	Local desk:TRect = New TRect
	Local window:TRect= New TRect
	GetWindowRect(desk_hWnd,desk) ' Get Desktop Dimensions
    'Get Window Dimensions because final window may have been resized (by BlitzMax) to fit the desktop resultion! (Grey Alien)
	GetWindowRect(hWnd,window)
	
	'Centre Window
	SetWindowPos(hWnd, -2, (desk.r / 2) - ((window.r-window.l) / 2), (desk.b / 2) - ((window.b-window.t) / 2), 0, 0, 1)
	?
End Function
 Matt, haven't seen you on the forums for a while.  Have you checked out my framework demo yet?  Click the link in my sig, it's a SHMUP (of sorts).
 
 
 |