回 帖 发 新 帖 刷新版面

主题:如何去判断一个句柄是否菜单句柄

在网上查了好久得不到想要的资料,只得在这一问,请各位大侠指教指教
在一个程序里我用WINDOWS API里的GetCursorPos()函数获得了鼠标的位置
然后用WindowFromPoint()获得该位置的句柄,但是如何去判断这个句柄是否为菜单句柄,WINDOWS API 里有个IsMenu函数,但我用该函数时,不管该句柄为何值它返回的都是false,要用什么方法去判断这个句柄是否一个菜单的句柄呢?请各位指教

回复列表 (共8个回复)

沙发

你可以使用 MenuItemFromPoint

MENU != WINDOW

板凳

MenuItemFromPoint返回的是指定点条目的位置啊,为什么使用MENU != WINDOW
还是要谢谢你

3 楼

菜单和窗口是不同的

4 楼

我知道是不同,但用WindowFromPoint()一样可以得到一个菜单的句柄,不是吗?

5 楼

你还是没有明白我的意思
窗口和菜单是不一样的

CreateWindow
CreateMenu

6 楼

当鼠标指向一个菜单时,我用WindowFromPoint()取回一个句柄,由该句柄得出类名为#32768,可以确定这是个菜单的句柄啊,可用IsMenu总是返回FALSE

7 楼

HWND MenuHandel=FindWindowEx(NULL,NULL,"#32768",NULL);
这句话就行了。
MenuHandel就是当前系统中弹出的菜单。

8 楼

呵呵,我不是要去获取一个弹出菜单,而是想判断被WindowFromPoint获取的句柄是不是一个菜单的句柄,不过还是要谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册