home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
SHUTDWN3.ZIP
/
SHUTDOWN.C
next >
Wrap
C/C++ Source or Header
|
1991-01-20
|
1KB
|
48 lines
/* */
#define INCL_WIN
#define DESKTOP_TASK "Desktop Manager"
#define SHUTDOWN_ID 0x131L
#include <os2.h>
#include <string.h>
int main( void )
{
HAB hab;
HMQ hmq;
USHORT cTasks;
SEL sel;
PSWBLOCK pswblk;
USHORT cbTaskListBuf;
USHORT i;
HWND hwndDesktopMgr;
hab = WinInitialize( 0 );
hmq = WinCreateMsgQueue( hab, 0 );
cTasks = WinQuerySwitchList( hab, NULL, 0 );
cbTaskListBuf = ( cTasks * sizeof (SWENTRY) ) + sizeof (HSWITCH);
DosAllocSeg( cbTaskListBuf, &sel, SEG_NONSHARED );
pswblk = MAKEP( sel, 0 );
WinQuerySwitchList( hab, pswblk, cbTaskListBuf );
for ( i = 0; i < cTasks; i++ )
if ( _fstrcmp( pswblk -> aswentry[ i ].swctl.szSwtitle,
DESKTOP_TASK ) == 0 )
break;
hwndDesktopMgr = pswblk -> aswentry[ i ].swctl.hwnd;
DosFreeSeg(sel);
WinSetWindowPos( hwndDesktopMgr, HWND_TOP, 0, 0, 0, 0, SWP_RESTORE );
WinPostMsg( hwndDesktopMgr, WM_COMMAND, (MPARAM) SHUTDOWN_ID, (MPARAM) 0L );
WinDestroyMsgQueue( hmq );
WinTerminate( hab );
return ( 0 );
}