Jump to content

WinQueryWindowProcess

From EDM2
Revision as of 21:52, 6 August 2023 by Martini (talk | contribs) (Created page with " This function obtains the process identity and thread identity of the thread that created a window. ==Syntax== WinQueryWindowProcess(hwnd, ppid, ptid) ==Parameters== ;hwnd...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This function obtains the process identity and thread identity of the thread that created a window.

Syntax

WinQueryWindowProcess(hwnd, ppid, ptid)

Parameters

hwnd (HWND) - input
Window handle.
ppid (PPID) - output
Process identity of the thread that created the window.
ptid (PTID) - output
Thread identity of the thread that created the window.

Returns

rc (BOOL) - returns
Success indicator.
TRUE
Successful completion
FALSE
Error occurred.

Errors

Possible returns from WinGetLastError

PMERR_INVALID_HWND (0x1001)
An invalid window handle was specified.

Example Code

This example shows how to query a window's process and use that information to add a switch entry window.

#define INCL_WINWINDOWMGR
#define INCL_WINSYS
#include <OS2.H>

HWND     hwndFrame;           /* window handle. */
SWCNTRL  swctl;
PID      pid;
TID      tid;
HSWITCH  hsw;
char     szTitle[] = "app.exe";

  WinQueryWindowProcess( hwndFrame, &pid, &tid);
  swctl.hwnd  = hwndFrame;
  swctl.idProcess = pid;
  strcpy( swctl.szSwtitle, szTitle);
  hsw = WinAddSwitchEntry( &swctl);

Definition

#define INCL_WINWINDOWMGR /* Or use INCL_WIN, INCL_PM, */
#include <os2.h>

HWND    hwnd;  /*  Window handle. */
PPID    ppid;  /*  Process identity of the thread that created the window. */
PTID    ptid;  /*  Thread identity of the thread that created the window. */
BOOL    rc;    /*  Success indicator. */

rc = WinQueryWindowProcess(hwnd, ppid, ptid);

Related Functions