CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

难! 系统默认的右键菜单屏蔽问题!!急求!

楼主ecyclone(无影雪)2004-12-02 09:56:51 在 VC/MFC / 界面 提问

我想把右键点击驱动器时,系统默认的右键菜单中的“格式化”项disable掉。  
      我用的是Icontextmenu接口,在其中QuaryContextMenu中用  
  ::EnableMenuItem(hMenu,30755,MF_DISABLED|MF_GRAYED);  
  ::EnableMenuItem(hMenu,45,MF_DISABLED|MF_GRAYED);  
      就可以成功的把2000   Professional下,资源管理器中右边用户区的格式化菜单(用spy++读出id值是30755)和左边树状菜单中的格式化菜单(用spy++读出id值是45)。  
       
        但是我发现这个方法很局限,因为如果换了操作系统,如xp,用spy++读出的菜单的id值就变了,而且左边树状菜单的id值还是每次不一样的(直接用光盘装的xp和用ghost装的xp左树菜单的id值不一样)。  
   
        现在的问题就是如何才能解决这个不同os的问题。我的想法是找出这些id值的define定义吧,就好像“关闭”的定义是ID_FILE_CLOSE。但是未果。或者有什么其它解决方法的。  
         
        那位高手知道如何解决这个难题的,它困扰了我好久了!不胜感激! 问题点数:30、回复次数:8Top

1 楼wangcx(我侵蚀着孤独)回复于 2004-12-02 10:15:31 得分 15

int   GetMenuString(                     HMENU   hMenu,  
          UINT   uIDItem,  
          LPTSTR   lpString,  
          int   nMaxCount,  
          UINT   uFlag  
  );  
   
  遍历各个MenuItem,然后判断它的文本是否是格式化,是的话就进行处理啦,不是的话pass!Top

2 楼enetlily(兰百合)回复于 2004-12-02 10:27:09 得分 0

我去试试看先,谢谢啦。Top

3 楼ecyclone(无影雪)回复于 2004-12-02 10:38:31 得分 0

我试了一下,但是不知道如何遍历各个MenuItem呀,  
   
  在QuaryContextMenu(hmenu,indexmenu,idcmdfirst,idcmdlast,nflags);中  
  在xp下,indexmenu=0,idcmdfirst=31030,idcmdlast=31226,而我要找的格式化,右边用户区是31012,左边树状里是45,  
  而在GetMenuString里一定要有uIDItem才能找到string的,我应该如何做呀。Top

4 楼enetlily(兰百合)回复于 2004-12-02 11:01:45 得分 0

试下getmenuitemcount,在根据position查menustring,即可。Top

5 楼enetlily(兰百合)回复于 2004-12-02 11:37:46 得分 15

错了,得到count值后,再getmenuitemid,再用id和bycommand的flag来找string,就可以了。Top

6 楼ecyclone(无影雪)回复于 2004-12-02 11:38:39 得分 0

ok,问题解决了!Top

7 楼celerityok(敏行)回复于 2004-12-21 23:05:41 得分 0

mark!Top

8 楼ChenLiuqing(没有心的鸟^_^(★★★★★))回复于 2005-07-04 18:14:22 得分 0

markTop

相关问题

  • 在C++Builder中如何屏蔽flash动画默认的右键菜单?
  • 如何在一个文本框里实现屏蔽系统默认的右键菜单
  • 如何屏蔽webbrowser的右键菜单
  • activx控件屏蔽右键菜单
  • 关于屏蔽FLASH右键菜单。
  • NS怎样屏蔽右键菜单?
  • 如何屏蔽Flash的右键菜单?
  • 如何屏蔽右键菜单?
  • 如何屏蔽菜单条的右键设置菜单?
  • 如何屏蔽ActiveBar2.0右键单击菜单???????

关键词

  • 格式化
  • xp
  • 解决
  • 菜单
  • 右键
  • hmenu
  • spy++读出
  • 左边树状
  • mf
  • 问题

得分解答快速导航

  • 帖主:ecyclone
  • wangcx
  • enetlily

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo