Purpose
WinHSWITCHfromHAPP returns the handle of the switch list entry from the application handle. If the application handle is invalid or IF no switch list eNtry exists, then 0 is returned.
Syntax
#define INCL_PMAPI #include os2.h>
HSWITCH WinHSWITCHfromHAPP
Parameters
happ(HAPP) input
Returns
hswitch (HSWITCH) returns
NULLHANDLE
Remarks
WinHAPPfromHSWITCH and WinHSWITCHfromHAPP may be called from non-PM programs. For some versions of OS/2 it may be necessary to import explicitly these APIs using the following ordinals
WinHAPPfromPID
Related Functions
Example Code
int main (int argc, char *argv[], char *envp[]){ APIRET rc; HAPP happ; HSWITCH hswitch; SWCNTRL swcntrl; PID pid; if (argc==1) { printf("QSWLIST pid\n"); return 0; } /* endif */ pid=strtoul(argv[1],NULL,0); happ=WinHAPPfromPID(pid); /* get HAPP from PID */ hswitch=WinHSWITCHfromHAPP(happ); /* get HSWITCH from HAPP */ rc=WinQuerySwitchEntry(hswitch, swcntrl); /* interpret HSWITCH */ if (rc) { printf("WinQuerySwitchEntry returned %u\n",rc); return rc; } /* endif */ printf("Pid %04x, Happ %08x, Hswitch %08x\n", pid, happ, hswitch); printf("swcntrl.hwnd \t%08x, swcntrl.hwndIcon \t%08x\n", swcntrl.hwnd, swcntrl.hwndIcon); printf("swcntrl.hprog \t%08x, swcntrl.idProcess \t%08x\n", swcntrl.hprog, swcntrl.idProcess); printf("swcntrl.idSession \t%08x, swcntrl.uchVisbility \t%08x\n", swcntrl.idSession, swcntrl.uchVisibility); printf("swcntrl.fbJump \t%08x, swcntrl.bProgType \t%08x\n", swcntrl.fbJump, swcntrl.bProgType); printf("swcntrl.szSwtitle %s\n", sz.Swtitle); return 0; }