The following two programs both minimize all the active windows on the desktop by 'faking' the 'Left-Window', and 'M' keyboard combination. The only difference is in the way that the program's window is restored.
The first example calls ShowWindow()
with the SW_RESTORE flag,
.. and the second example uses a call to
the OpenIcon()
function to do the same.
Of course, if you just want to minimize all the Desktop windows, just don't call these functions... '-)
--
min_all_but1.exw
include win32lib.ew
constant
win1=create( Window, "Minimize all but me...1", 0, 100, 100, 300, 150, 0 ),
-- constants, and functions not in win32lib, yet !
KEYEVENTF_KEYUP = 2,
MinimizeAll = 77,
zkeybd_event=registerw32Function( user32,
"keybd_event", { C_INT, C_INT, C_INT, C_INT }, C_INT )
----
procedure minimize_all( integer self, integer event, sequence params )
atom jk
showWindow( win1, True )
sleep( 1 )
showWindow( win1, False )
jk = w32Func( zkeybd_event, {VK_LWIN, 0, 0, 0 } )
jk = w32Func( zkeybd_event, {MinimizeAll, 0, 0, 0 } )
jk = w32Func( zkeybd_event, {VK_LWIN, 0, KEYEVENTF_KEYUP, 0 } )
sleep( 2 )
jk = w32Func( xShowWindow, {getHandle( win1 ), SW_RESTORE} )
end procedure
setHandler( win1, w32HOpen, routine_id( "minimize_all" ) )
WinMain(win1,Normal)
--------... and, here's the second example.
--
min_all_but2.exw
include win32lib.ew
constant
win1=create( Window, "Minimize all but me...2", 0, 100, 100, 300, 150, 0 ),
KEYEVENTF_KEYUP = 2,
MinimizeAll = 77,
zkeybd_event=registerw32Function( user32,
"keybd_event", { C_INT, C_INT, C_INT, C_INT }, C_INT ),
zOpenIcon=registerw32Function( user32,
"OpenIcon", {C_INT}, C_INT )
procedure minimize_all( integer self, integer event, sequence params )
atom jk
showWindow( win1, True )
sleep( 1 )
showWindow( win1, False )
jk = w32Func( zkeybd_event, {VK_LWIN, 0, 0, 0 } )
jk = w32Func( zkeybd_event, {MinimizeAll, 0, 0, 0 } )
jk = w32Func( zkeybd_event, {VK_LWIN, 0, KEYEVENTF_KEYUP, 0 } )
sleep( 2 )
jk = w32Func( zOpenIcon, {getHandle( win1 ) } )
end procedure
setHandler( win1, w32HOpen, routine_id( "minimize_all" ) )
WinMain(win1,Normal)
--------..end of lesson.