{-# LANGUAGE CPP #-} {- | Module : Graphics.Win32.Window.ForegroundWindow Copyright : 2012 shelarcy License : BSD-style Maintainer : shelarcy@gmail.com Stability : Provisional Portability : Non-portable (Win32 API) Get/Set Foreground Window. -} module Graphics.Win32.Window.ForegroundWindow ( getForegroundWindow , setForegroundWindow , c_SetForegroundWindow , allowSetForegroundWindow , c_AllowSetForegroundWindow ) where import Control.Monad ( void ) import Graphics.Win32.GDI.Types ( HWND ) import Graphics.Win32.Window ( getForegroundWindow ) import System.Win32.Process ( ProcessId ) #include "windows_cconv.h" ---------------------------------------------------------------- -- | Setting Window to Foreground. -- See: , -- . ---------------------------------------------------------------- setForegroundWindow :: HWND -> IO Bool setForegroundWindow = c_SetForegroundWindow foreign import WINDOWS_CCONV safe "windows.h SetForegroundWindow" c_SetForegroundWindow :: HWND -> IO Bool ---------------------------------------------------------------- -- | Allow other process to set Window to Foreground -- by using 'setForegroundWindow' function. allowSetForegroundWindow :: ProcessId -> IO () allowSetForegroundWindow = void . c_AllowSetForegroundWindow foreign import WINDOWS_CCONV safe "windows.h AllowSetForegroundWindow" c_AllowSetForegroundWindow :: ProcessId -> IO Bool