【问题标题】:Shell Context Menus in C, C++C、C++ 中的 Shell 上下文菜单
【发布时间】:2013-04-18 14:15:55
【问题描述】:

是否可以通过 C 或 C++(任一)程序将 shell 上下文菜单添加到所有 .txt 文件?

我一直通过直接访问注册表来创建这些菜单。另外,我找到了C#

特定代码和某些其他实现特定的c, C++ 版本。

【问题讨论】:

    标签: c++ c shell


    【解决方案1】:

    最简单的方法在"Shell Lightweight API" 中。

    【讨论】:

      【解决方案2】:

      有允许您访问注册表的 API。

      http://msdn.microsoft.com/en-us/library/windows/desktop/ms724875(v=vs.85).aspx

      请注意,您的应用程序必须以管理员身份运行,否则更改将是“virtual”。

      您可以看到一些关于如何提升应用程序权限的代码in this help file。主题基础知识>安全应用程序>为 Windows Vista 设计 UAC 应用程序>第 3 步:重新设计以实现 UAC 兼容性,第 4 步:重新设计 UI 以实现 UAC 兼容性。

      【讨论】:

      • 如果您使用适当的注册表项(HKCU - 当前用户),您的应用程序不必以管理员身份运行。只有在系统范围内进行更改时才需要管理员权限。
      • 这不是真正的钥匙。它是 HKLM\Software\Classes 和 HKCU\Software\Classes 的合并视图。
      最近更新 更多