问题标签 [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 回答
470 浏览

c++ - 为资源管理器创建右键菜单

如果有人可以提供一些有关如何为驱动器创建右键单击菜单的示例文章。

这是需要的:右键单击菜单将包含两个附加内容,即:ConnectDisconnect。我们可以让它有条件吗?我的意思是在某些情况下,驱动器将启用连接(理想情况下未连接时),连接时它将禁用连接并启用断开连接。

0 投票
3 回答
1109 浏览

c++ - 我们如何使用某个文件扩展名注册 Shell 扩展名

我已经参考代码项目上的文章测试了一个小型 shell 扩展。尽管整个过程相当复杂,但我对以下方法以及它们的作用有所了解:

Initialize,DragQueryFile,GetCommandString,InvokeCommand,QueryContextMenu

但通读后我无法理解我们的 ContextMenu 扩展是如何与 .txt 文件相关联的。

这篇文章解释了如果我们看一下 .rgs 文件,我们可以看到它创建了一个像这样的注册表项:

但实际上,按照文章编写代码后,当我打开SimpleShlExt.rgs它看起来像这样:

--在 CodeProject 中编辑--

注册表是否在 CLSID 和 txtfile reg 条目之间动态创建任何映射。

如果是这种情况,如果我想修改任何其他文件的行为,例如 mp3 文件或驱动器本身,并且我希望我的上下文菜单弹出或显示,那么如何去做。因为我不知道 CLSID。

0 投票
1 回答
4815 浏览

c++ - EnableMenuItem 函数不使用参数 MF_GRAYED

创建了一个 ATL COM 项目,通过它我将菜单项插入到右键菜单中,如下所示:

现在,一旦用户单击它,我就想禁用Connect子菜单,为此我正在使用 EnableSubMenuItem ,

编辑:

但这无助于禁用菜单项。我究竟做错了什么??

0 投票
1 回答
661 浏览

c++ - 错误 C2065:“MIIM_STRING”:未声明的标识符

在尝试使用 InsertMenuItem 创建子菜单的菜单时:

我收到错误 C2065:“MIIM_STRING”:未声明的标识符

0 投票
1 回答
390 浏览

c++ - 我们可以在不使用 pCmdInfo->lpVerb 的情况下执行右键单击吗

我不反对使用pCmdInfo->lpVerb,但我的问题是当我们动态创建右键单击子菜单时我们将如何处理这种情况。例如,我有以下场景:

现在,如果我使用pCmdInfo->lpVerbswitch case ,如下所示,那么Case 1无论我点击DisConnect(在上面的代码片段中的 If条件中插入的Help菜单项)还是(在上面的代码片段中的其他部分插入的菜单项),都将被执行

0 投票
2 回答
163 浏览

c++ - 如何区分是驱动器还是网络驱动器,在 RightClick 上

当我右键单击外壳驱动器时,我想区分驱动器是普通驱动器还是网络驱动器。

我希望我们可以使用Initialize(LPCITEMIDLIST, LPDATAOBJECT, HKEY)方法来做到这一点,但不确定使用哪个参数。

0 投票
3 回答
152 浏览

c# - 我可以为外部硬盘写一个扩展吗

我想通过编写某种 ShellExtension 来保护我的外部硬盘。但外壳扩展是工作站特定的。

有没有办法我可以编写一个应用程序来显示身份验证或扩展加密我的驱动器数据,以便用户在双击我的驱动器时会收到一条失败消息。

0 投票
2 回答
2158 浏览

windows - 如何在不重新启动的情况下更新 Windows Explorer 的 shell 扩展

有一个 Windows 资源管理器扩展 dll。
如果我们的服务器中有新的dll,这个dll可以自动更新。

我重命名原始 dll 并下载新的 dll。但 Windows 资源管理器永远不会重新加载一个新的。

所以我杀死了Windows资源管理器并重新启动。
但这看起来很丑陋。而且我不想建议用户重新启动。

如何告诉 Windows Explorer 重新加载一个新的?

0 投票
1 回答
473 浏览

c++ - Windows 7 资源管理器.exe

我想扩展 Windows 7 Explorer.exe(32/64 位)从哪里开始?我想修改 UI 添加新的菜单项,并可能直接在当前窗口内添加新窗口。它与“基本文件夹对象接口”有关吗?任何帮助 URL,书籍任何 appeciated!

0 投票
1 回答
8076 浏览

tfs - TFS Shell 集成 - TF Power Tools 需要 Visual Studio 2010

我刚开始使用 Team Foundation 2010,但我正在使用 Visual Studio 2008 SP1 连接到服务器。它工作正常,除了我无法安装 Power Tools 以包含 shell 集成,因为出于某种原因它需要 Visual Studio 2010。

1) 有什么方法可以在不安装 VS2010 的情况下获得 tfpt Shell 集成?

第二个问题是......我在一台机器上安装了VS2010并使用了一段时间的电动工具。但是当我更改服务器 IP 时,shell 扩展突然停止工作......它试图重新连接并失败。我尝试执行此操作,但没有成功:

tf.exe 工作区 /remove:*

但我不知道这是否与我的问题有关。

2)外壳集成发生了什么?我该如何解决?

提前致谢