### 函数功能

该函数在指定位置显示快捷菜单，并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

### 函数原型

BOOL TrackPopupMenuEX（HMENU hMenu，UINT uFlags，int x,int y，HWND hWnd，LPTPMPARAMS lptpm）；

### 参数

hMenu：被显示的快捷菜单的句柄。此句柄可为调用CreatePoPuPMenu创建的新快捷菜单的句柄，也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。
UFlags：定位或其他选项。此参数可为零或取在函数CreatePopupMenu里所列的值，也可取下列之一值：
TPM_HORIZONTAL：在不覆盖排斥矩形就不能在指定位置显示菜单时，系统将先考虑水平对齐的要求。
TPM_VERTICAL：在不覆盖排斥矩形就不能在指定位置显示菜单时，系统将先考虑垂直对齐的要求。排斥矩形是指屏幕上菜单不能覆盖的部分，由Iptpm指定。
X：在屏幕坐标下，快捷菜单的水平位置。
Y：在屏幕坐标下，快捷菜单的垂直位置。
hWnd：拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前，此窗口不接受来自菜单的WM_COMMAND消息。
如果在参数uFlags里指定了TPM_NONOTIFY值，此函数不向hwnd标识的窗口发消息。 但必须给hwnd里传一个窗口句柄，可以是应用程序里的任一个窗口句柄。
lptpm：指向结构TPMPARAMS的指针，该结构指定屏幕上菜单不能覆盖的区域。此参数可为NULL。

### 返回值

如果在参数UFlags里指定了TPM_RETURNCMD值，则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则返回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值，函数调用成功，返回非零值，若函数调用失败，返回零。若想获得更多的错误信息，请调用GetLastError
函数。
备注：Womdpws CE不支持参数uFlags取下列值：
TPM_NONOTIFY；TPM_LEFTTBUTTON;TPM_RIGHTBUTTTON;TPM_HORIZONTAL;TPM_VERTICAL；
参数lptpm必须设为NULL。

### 速查

Windows NT：4.0及以上版本；Windows：95及以上版本；Windows CE：1.0及以上版本；头文件：winuser.h；输入库：user32.lib。