如何检测弹出菜单已经关闭??? (100分)

  • 主题发起人 thinknet
  • 开始时间
T

thinknet

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位高手:
弹出菜单是否已经弹出我可以知道,但如何检测弹出菜单已经关闭。
(用户可能没有选择弹出菜单中的任何一项,而是按了其它元件噢)
 
用进程内钩子(不用dll的)
请修改我最近一个帖子中的hook代码
让他钩住WM_MENUSELECT事件在菜单弹出前开启钩子,钩住后发消息给窗口(用postmessage)
窗口再unlock钩子。如果菜单在一个窗口中,窗口类应该有该事件对应的方法。
请注意WM_MENUSELECT事件的文档
Remarks
If the fuFlags parameter contains 0xFFFF and the hmenu parameter
contains NULL, the system has closed the menu.

Do not use the value –1 for fuFlags. That is because fuFlags is
specified as (UINT) HIWORD(wParam). If HIWORD(wParam) were 0xFFFF,
fuFlags (because of the UINT cast) would be 0x0000FFFF, not –1.

 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
897
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部