WinWaitForShell: Difference between revisions
No edit summary |
|||
| Line 77: | Line 77: | ||
A message queue is not required for the thread which calls WinWaitForShell. | A message queue is not required for the thread which calls WinWaitForShell. | ||
The prototype and defines for this function are defined in wpobject.h, which may be inaccessible if not compiling a WPS object class. Copy the defines and the prototype verbatim into your own code or headers for use. It is exported through os2386.lib in the OS/2 Warp 4 Toolkit. | |||
=== OS Version Introduced === | === OS Version Introduced === | ||
OS/2 Warp 4 | OS/2 Warp 4 | ||
Revision as of 14:35, 4 May 2005
WinWaitForShell
- WinWaitForShell(ulEvent)
Allows an application to wait for the Workplace Shell to become available.
Parameters
- ulEvent - ULONG - input
The event to wait for.
Constants
The following constants are defined for the parameter ulEvent:
#define WWFS_QUERY 0x80000000 #define WWFS_DESKTOPCREATED 1 #define WWFS_DESKTOPOPENED 2 #define WWFS_DESKTOPPOPULATED 3
Returns
This function returns a BOOL with the values of:
Module
Define (C/C++)
BOOL APIENTRY WinWaitForShell( ULONG ulEvent );
Export name/Ordinal
Calling conversion
Example Code
#define INCL_WINWORKPLACE
#define INCL_WINDIALOGS
#define INCL_WIN
#include <os2.h>
// Define function not found in headers
BOOL APIENTRY WinWaitForShell( ULONG ulEvent );
#define WWFS_QUERY 0x80000000
#define WWFS_DESKTOPCREATED 1
#define WWFS_DESKTOPOPENED 2
#define WWFS_DESKTOPPOPULATED 3
int main(int argc, char *argv[])
{
HAB hab;
HMQ hmq;
BOOL fShellPopulated;
fShellPopulated = WinWaitForShell(WWFS_DESKTOPPOPULATED); // Desktop populated
if (fShellPopulated) {
DosBeep(440, 1000);
hab = WinInitialize(0);
hmq = WinCreateMsgQueue(hab, 0);
WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, "Desktop was populated", "Message", 0x100, MB_OK|MB_ICONASTERISK);
WinDestroyMsgQueue(hmq);
WinTerminate(hab);
} else {
DosBeep(220, 1000);
}
return 0;
}
Related Functions
Notes
WinWaitForShell can not be called from detached processes. So a program started by a RUN= statement in config sys, can not rely on this method to wait for the shell to be up.
A message queue is not required for the thread which calls WinWaitForShell.
The prototype and defines for this function are defined in wpobject.h, which may be inaccessible if not compiling a WPS object class. Copy the defines and the prototype verbatim into your own code or headers for use. It is exported through os2386.lib in the OS/2 Warp 4 Toolkit.
OS Version Introduced
OS/2 Warp 4