关于系统钩子和弹出菜单

DanielPrc 2001-12-17 12:36:44
我给每个窗口安了钩子,即在窗口的标题栏上画了个按钮,点击后弹出菜单(popupMenu),但该菜单我怎么弄都是灰的,不知哪位大侠能帮我一把?或者有类似的源代码,还望帮忙。
...全文
195 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
DanielPrc 2001-12-18
  • 打赏
  • 举报
回复
现在按钮已经不灰了!
我在DLL中加了CMyMenu类,然后在右键弹起时让它弹出CMyMenu菜单,弹出了,但没有画对,因为它说: unknow WM_MEASUREITEM for id 2000 之类的话...

是全局钩子。。。
hxd1114 2001-12-18
  • 打赏
  • 举报
回复
你在 String Table 中为 变灰 的 POPMENU ID 加个键值再尝试一下看看,可能就不灰了
coolworm2000 2001-12-18
  • 打赏
  • 举报
回复
顺便加一句,WM_MEASUREITEM中的wParam参数就是一个Struct的指针,除非在你的钩子dll中处理,否则在别的应用程序里是不可预知的地址
coolworm2000 2001-12-18
  • 打赏
  • 举报
回复
用的是全局钩子把?
注意哦,这可是一个进程内钩子,要跟外部的程序通信的话是不能传送指针的(至少不能简单地就传送),否则指针指向的地址是不可预知的
DanielPrc 2001-12-18
  • 打赏
  • 举报
回复
我用spy++ 看到了WM_MEASUREITEM的消息,但其中的nID为0,而不是我要的2000,不知哪位大侠能助我一臂之力啊?
DanielPrc 2001-12-18
  • 打赏
  • 举报
回复
我在弹出的菜单上用了自己的菜单类CMyMenu,但这时出现错误:
Warning: unknown WM_MEASUREITEM for menu item 0x07D0.

0x7D0是我给菜单项的ID。。。

这个WM_MEASUREITEM消息我该如何发送给CMyMenu,让它自动调用OnMeasur...函数呢?
DanielPrc 2001-12-18
  • 打赏
  • 举报
回复
>>
DanielPrc 2001-12-18
  • 打赏
  • 举报
回复
有提示吗?
scarab 2001-12-17
  • 打赏
  • 举报
回复
弹出菜单项应该定义一个函数
goldbird 2001-12-17
  • 打赏
  • 举报
回复
hMenu = ::CreatePopupMenu();
AppendMenu(hMenu,MF_STRING,2000,"test");
TrackPopupMenu(hMenu,TPM_LEFTBUTTON,300, 400, 0, this->m_hWnd,NULL);
DanielPrc 2001-12-17
  • 打赏
  • 举报
回复
很遗憾,还是不行,现在我遇到拦路虎了,还望高手相助...
都提些建议如何?
iamknight 2001-12-17
  • 打赏
  • 举报
回复
EnableMenuItem(hMenu,2000,MF_BYCOMMAND |MF_ENABLED);
xxtliu 2001-12-17
  • 打赏
  • 举报
回复
再加个MF_ENABLED试试呢
DanielPrc 2001-12-17
  • 打赏
  • 举报
回复
提,大家帮个忙啦,呵呵,这个问题该如何解决啊?
我建立PopupMenu的方式如下:

AppendMenu(hMenu,MF_STRING,2000,"test");
TrackPopupMenu(hMenu,TPM_LEFTBUTTON,poinx.x, point.y, 0, hWnd,NULL);

怎么让test项不是灰的呢?
sinfee 2001-12-17
  • 打赏
  • 举报
回复
关注中
如何实现加按纽?什么钩子?有源码吗?学习一下。
DanielPrc 2001-12-17
  • 打赏
  • 举报
回复
能具体点吗?怎么定义函数?呵呵,没那么简单吧?别忘记我这个菜单是用win32函数加上去的,不是用的MFC

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧