问题标签 [shell-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2688 浏览

c++ - 如何在 C++ Builder 2010 中编写 shell 扩展上下文菜单?

我正在寻找一些在 C++ Builder 2010 中编写 shell 扩展的示例(2007 和 2009 也可能是相关的),因此我可以右键单击资源管理器中的文件并在我的 VCL 程序中获取文件路径。

我遵循了Clayton Todd 的教程,但它是从 2001 年开始的,我在让它工作时遇到了一些麻烦。我无法让它调用我的方法(初始化、QueryContextMenu 等)。

0 投票
3 回答
1272 浏览

msbuild - MSBuildShellExtension 替代方案?

从资源管理器上下文菜单中运行 msbuild 目标的MSBuildShellExtension的任何替代方案?我正在寻找一种比 MSBuildShellExtension 更具动态性的替代方案——例如,不需要手动配置构建目标,而是从选定的项目文件中读取可用目标并在子菜单中列出这些目标。

0 投票
3 回答
32981 浏览

c# - 使用 C# 的 Windows shell 扩展

我想编写一个简单的 Windows shell 扩展来添加到上下文菜单中,而 C# 是我这些天最常用的语言。它是 shell 扩展的一个不错的选择吗?界面是否易于使用?是否有额外的开销导致菜单弹出速度较慢?

任何人都有很好的入门指南?

0 投票
1 回答
2069 浏览

c++ - 如何在已添加到上下文菜单末尾的项目上包含位图?

我目前正在编写一个 Windows Explorer Shell 扩展。到目前为止一切都很好,但我无法在上下文菜单的末尾插入带有 MenuItemBitmaps 的菜单项。

这是我在没有位图的情况下使用的代码:

这段代码做我想要的。当我在 Windows 资源管理器中单击鼠标右键时,它会在上下文菜单的末尾添加一个分隔符和两个菜单项。

我还可以使用以下代码将位图添加到这些菜单项:

但是现在菜单项被放置在上下文菜单中间的某个位置,而不是最后。简单地设置-1uMenuIndex不是不起作用。菜单项确实放在最后,但未显示位图。

有任何想法吗?

0 投票
1 回答
202 浏览

c# - 为什么在c#中编写shell扩展时接口继承不起作用?

根据这篇关于在 .Net 中编写 shell 扩展的文章,在编写代码时继承 shell 接口是行不通的。我也在自己的代码中观察到了这一点。

不起作用:

是否有效:

文章指出了这个事实:

瞧,它奏效了!请注意,我已经放弃了 IPersistFolder 是从任何东西继承而来的任何想法,只是在其定义中包含了来自 IPersist 的存根。坦率地说,我不能告诉你为什么会这样,但它肯定工作得很好,不应该给你带来任何问题。

所以我会问这个人不知道的问题;为什么原始代码不起作用?

0 投票
3 回答
648 浏览

.net - In-Proc SxS 在托管代码中打开 shell 扩展?

过去的建议是“不要在托管代码中编写进程内 shell 扩展”。

但是使用 .NET Framework 4 和In-Process Side-by-Side应该解决不在托管代码中编写 shell 扩展的主要原因。

话虽如此,我有三个问题。

  1. 现在可以在托管代码中编写 shell 扩展了吗?
  2. 在托管代码中编写 shell 扩展可能存在哪些问题(如果有的话)?
  3. 在非托管代码中编写 shell 扩展的原因可能是什么?
0 投票
5 回答
3391 浏览

visual-studio - VS解决方案文件的Windows资源管理器上下文菜单中的“构建”项?

我想知道为什么默认情况下不集成。我想在 VS 解决方案文件的 Windows 资源管理器的文件上下文菜单中有一个项目来构建它。

有这个工具吗?还是我必须自己创建?

0 投票
1 回答
203 浏览

contextmenu - 如何在窗口自定义 ShellExtension 弹出菜单项中设置菜单帮助文本

我需要设置我的 shell 上下文菜单弹出菜单项的菜单帮助文本,就像 winzip shellContext 菜单一样。我试过 IContextMenu_GetCommandString 但它只是为我的主弹出菜单的子菜单设置菜单帮助。请帮助我,让我知道如何为我的主弹出菜单设置菜单帮助?

谢谢

0 投票
1 回答
341 浏览

c++ - 是否有用于 Shell 扩展的 Click 处理程序

在通过MSDN Shell Extensions之后,我不太确定是否可以扩展 Shell Click 或 Explorer 的 Click 事件的行为。有任何建议或代码片段、文章或演练吗?

0 投票
4 回答
8961 浏览

windows - 在 Visual Studio 2010 中制作 Windows shell 扩展

我正在尝试使用 Visual Studio 2010 在 C++ 中创建一个极其简单的 shell 扩展,但我什至无法将这些示例作为起点。

我正在使用 Windows 7 x64。

我已经尝试过这个 Visual Studio 模板,但是一旦我让模板在 VS2010 中工作,我就会遇到很多我不知道如何修复的错误。

我已经尝试过The Complete Idiot's Guide to Writing Shell Extensions,一旦演示编译完成,所有正确的注册表设置等都会创建,但不会出现上下文菜单。

我看过这个 C# COM Interop example ,但是由于这篇文章*,我一直对使用 C# 是否安全感到困惑*,但如果我使用 .NET 4 看起来我可能没问题,因为它支持进行并行 CLR 托管

  • 简而言之:历史上两个版本的 .NET 不能在同一个进程中运行,而 shell 扩展的工作方式是将自己注入到一个进程中。因此,如果 .NET 3.5 被注入到 .NET 2 进程中 -

那么,我现在可以使用 .NET 4.0 了吗?

是否有一个工作的、可下载的 VS2010 解决方案添加了一个简单的 shell 扩展?

以前我对 C++ 的使用还算不错,但是经过多年的 .NET 成型后,我已经很生疏了,因此,我在修改细节以修复我在现有示例中遇到的大量错误正在证明......繁琐!

我真的可以从一张白纸开始,我可以打破自己并弄清楚做错了什么!