i have several programs that runs full-screen. It doesnt allow me to do anything besides it (i cant alt+tab out of it)... so i made a little research and found this:

--------------------------------------------
Windows 95 + 98 Functions:
Api-Function: SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);

Windows NT 4.0 Service Pack 3 and Later and Windows 2000
Api-Function: SetWindowsHookEx / Installing a low Level Keyboard-Hook (WH_KEYBOARD_LL)

DirectX:
: IDirectInputDevice8::SetCooperativeLevel
Flags Notes
DISCL_NONEXCLUSIVE DISCL_BACKGROUND The default setting
DISCL_NONEXCLUSIVE DISCL_FOREGROUND
DISCL_EXCLUSIVE DISCL_FOREGROUND
DISCL_EXCLUSIVE DISCL_BACKGROUND Not valid for keyboard or mouse
For the keyboard, you can also include DISCL_NOWINKEY in combination with DISCL_NONEXCLUSIVE.
This flag disables the Windows logo key so that users cannot inadvertently break out of the
application.

------------------------------------

im more interested in the third part (Directx). Is there a way to somehow override it and run the program in a window. adding a -win in the shortcut wont work too.
Posted on 2003-08-12 12:24:57 by Ni?o
Full screen DirectX progs use

IDirectDraw SetCooperativeLevel with flags DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN
and after it
IDirectDraw SetDisplayMode

you can try to override DDSCL_FULLSCREEN
but there is "some" difference in design of windowed progs: they can't easely use primary surfaces.
and fullscreen progs use
IDirectDraw TestCooperativeLevel method to find out current mode (fullscreen or not)

It seems to me that progs shoul'd be "some" redesigned to run in window
Posted on 2003-08-12 19:24:56 by S.T.A.S.