V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
FanWall
V2EX  ›  程序员

请问这种系统右键菜单是怎么实现的

  •  
  •   FanWall · 2017-08-12 11:36:53 +08:00 · 2589 次点击
    这是一个创建于 2695 天前的主题,其中的信息可能已经有所发展或是发生改变。

    跟系统右键菜单杠上了,比如 vs 中打开

    snipaste20170812_112351.jpg

    在注册表的 *\shell 下面没有搜到

    再比如 360 等一些的"使用 xxx 扫描"目录,在\Directory\shellex 下倒是有那种 guid 的格式,但没有对应的文字

    MSDN 有没有这方面的详细资料?求关键字

    谢谢~

    9 条回复    2017-08-12 16:48:24 +08:00
    4ever911
        1
    4ever911  
       2017-08-12 12:52:00 +08:00
    要么注册表, 要么用 hook

    502 Bad Gateway
    FanWall
        2
    FanWall  
    OP
       2017-08-12 13:00:56 +08:00
    @4ever911 应该是用注册表实现的,至少 vs 那个应该是。大概是搜索姿势不对,在搜索引擎上搜到的基本是针对\*\的,就是说右击文件 /文件夹的右键菜单,但是我想实现的还包括在空白处右击的右键菜单。想知道些关键字好去搜索了解下
    raphael008
        3
    raphael008  
       2017-08-12 13:41:29 +08:00   ❤️ 1
    Keywords: windows desktop context menu registry
    FanWall
        4
    FanWall  
    OP
       2017-08-12 14:08:39 +08:00
    @raphael008 原来是 background 谢谢
    sfqtsh
        5
    sfqtsh  
       2017-08-12 14:48:48 +08:00 via Android
    在 HKEY_CLASSES_ROOT\Directory\shell\和 HKEY_CLASSES_ROOT\Directory\Background\shell\下有 vs 的子项,在其右边添加一个名为 Extended 的空字符串项。如此 shift+右键时才会显示该菜单!
    ysc3839
        6
    ysc3839  
       2017-08-12 14:49:50 +08:00 via Android
    ConEmu 里面有加入这个菜单选项的功能,可以看看源代码。
    FanWall
        7
    FanWall  
    OP
       2017-08-12 15:10:12 +08:00
    @sfqtsh 嗯嗯 谢谢 刚才根据 3#的关键词已经搜到了
    FanWall
        8
    FanWall  
    OP
       2017-08-12 15:12:04 +08:00
    @ysc3839 这个东西很厉害啊. 下个源码看看 谢谢~
    ziki
        9
    ziki  
       2017-08-12 16:48:24 +08:00   ❤️ 1
    弄过 dos Here,可以给你参考下: https://github.com/dingziqi/blog-md/blob/master/note/dosHere.md
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:09 · PVG 03:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.