问题标签 [windows-shell]

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 回答
321 浏览

windows - BHO 或资源管理器的命令按钮

我正在尝试开发一个会出现在 Windows 资源管理器上的命令按钮。我可以为 NSE 执行此操作,但我想做的是使按钮在每个资源管理器窗口上可见。我希望它适用于 Windows 7 和 vista。我知道这是可能的,因为我已经看到 office Groove 做到了,我不确定我是否必须实现 IExplorer(...) 接口或只是创建一个为 Windows 资源管理器注册的简单 BHO(浏览器帮助按钮)和不是 IE。

任何帮助表示赞赏。

0 投票
1 回答
815 浏览

c++ - Windows 7 库

我希望有人可以帮助我,因为我找不到正确的方法来做到这一点。我目前正在开发一个应用程序,它的一部分应该能够枚举所有 Windows 库并显示它们的内容。现在,我能够获得所有标准 Windows 7 库、文档、图片、视频和音乐的包含文件夹。问题是我不知道如何获取自定义用户库的信息,因为 IShellLibrary::SHLoadLibraryFromKnownFolder 需要在 KnownFolders.h 中未真正定义的特定文件夹 GUID。

如果可能,我只需要列出所有库名称并获取它们各自的 GUID。

0 投票
8 回答
75639 浏览

c# - C#通过windows api从文件中获取缩略图

Windows 资源管理器能够显示文件的缩略图。这些缩略图由核心和第三方外壳扩展提供。

我知道如何扩展外壳以向 Windows 提供缩略图。

我想要做的是使用 C# 通过 shell 从系统上的任何文件中检索缩略图图像。这可能吗?

本质上,我正在编写一个自定义文件浏览器并且我想显示缩略图,并且不可能解析地球上的每个文件来制作我自己的缩略图。

澄清:许多答案似乎以网页缩略图或缩放图像为中心。但这根本不是我要找的。我想要的是向 Windows 询问这些文件类型的缩略图表示:.DOC、.PDF、.3DM、.DWG ......还有大约十几个。我不想自己解析、渲染和制作缩略图,因为 Windows 已经知道该怎么做。

我作为答案发布的代码实际上是有效的......也许可以简化和清理一下。

0 投票
2 回答
2095 浏览

windows - 如何在 shell 对象 clsid 上运行 ShellExecute?

Windows 上的 Shell 资源管理器定义全局对象,例如 ::{2559a1f4-21d7-11d4-bdaf-00c04f60b9f0,它是指向用户“互联网浏览器”的链接。我从在我的应用程序上拖放的快捷方式中获得了这些值,但我找不到如何使用它来打开它...

我也想知道这个对象是什么。

  • 有人知道如何向 Windows 询问这个对象是什么吗?
  • 有人知道怎么打开吗?

我发现这些对象可以通过从注册表中读取来找到:

通常直接从注册表读取不是一个好主意。我很乐意有一种更简洁的方式来阅读这些值。

谢谢。

0 投票
1 回答
169 浏览

windows - 替换 Windows 中的资源管理器窗格?

当用户放入 CD 并自动运行时,我想“浏览”CD,但我想对磁盘内容进行一些额外的处理。如果我想用我自己的一个替换 Windows 资源管理器中的 ListView,我将如何开始?我应该搜索哪些术语以了解如何执行此操作。我想获取资源管理器提供的树视图部分以及所有 shell 交互,我只想隐藏文件名末尾的额外扩展名(.pgp)并显示文件的图标,就好像它们没有加密一样.

0 投票
1 回答
981 浏览

com - 如何执行/ShellExecuteEx/InvokeCommand ITEMIDLIST 指向 Shell 对象?

我正在建造一种码头,我很难找到如何保存诸如“运行”、“搜索”、“帮助”、“打印机”之类的东西,然后再重新打开它们。

我试过这个:

无论我在最后一行尝试 InvokeCommand,总是返回 E_INVALIDARG。我用 ShellExecuteEx 试了一下,得到了同样的错误。

我尝试了所有可能的动词。

我试图枚举动词并得到 E_INVALIDARG。

我不能让它工作,但在正常的文件系统路径上,比如“c:\”和文件夹上的 clsid。我错过了什么 ?

0 投票
1 回答
864 浏览

c# - 访问应用程序的运行实例

我发现有很多帖子展示了如何检测应用程序实例是否已经运行。但我找不到任何显示如何访问或使用相同正在运行的应用程序的人。

我已经创建了 shell 菜单项并将它们链接到一个应用程序。例如。如果您右键单击任何文件夹,它会显示“OS Monitor”。如果我单击该应用程序已启动。如果我再次右键单击该文件夹并选择“OS Monitor”,则会启动同一应用程序的另一个实例。我必须防止这种情况。此外,当用户关闭“操作系统监视器”表单时,我只是将其隐藏。因此,如果用户再次选择相同的菜单选项,则需要显示相同的运行表单。

我已经使用 C#2005 创建了应用程序。有谁知道我如何访问应用程序的相同运行实例。

提前致谢。

0 投票
1 回答
939 浏览

c++ - CFSTR_FILEDESCRIPTOR/CFSTR_FILECONTENTS“复制文件”对话框丢失

我有一个支持复制粘贴的命名空间扩展,它使用CFSTR_FILEDESCRIPTOR/ CFSTR_FILECONTENTS将虚拟文件复制到剪贴板。但是,“正在复制文件...”进度对话框不会出现。

在复制操作完成之前,资源管理器似乎挂起。

关于如何让进度对话框工作的任何建议?

谢谢,Mridul。

0 投票
1 回答
961 浏览

c# - 使用 C# 向回收站右键菜单添加一个条目

我正在寻找一个 C# 代码来添加我自己的条目到回收站右键菜单。我已经看过。我应该怎么做才能代表回收站。(为 jpeg 文件提供了示例)

0 投票
4 回答
2513 浏览

c++ - 如何在 MFC 中实现 IExplorerBrowser

显然,从 Vista 开始,有一种相当简单的方法可以在您的应用程序中托管资源管理器:http: //www.codeproject.com/KB/vista/ExplorerBrowser.aspx

但是,该界面仅从 Vista 开始可用。

我看到还有另一种方法:“一直回到 95,但它需要更多的工作 - 实现 IExplorerBrowser 并通过 IShellFolder::CreateViewObject(IID_IShellView) 从数据源获取视图”

所以我想走后一条路线:实现 IExplorerBrowser。

我从哪里得到一个 IShellFolder * 来让球滚起来?如何指定主机窗口来容纳 shell 视图控件?如何为 shell 视图指定边界矩形(并调整它的大小)?

是否有一套全面的文档 - 或白页 - 在某个地方记录了 Windows Shell 的这些接口?到目前为止,我收集到的信息似乎非常零散,有一些非常过时的示例,甚至无法编译(它们需要对当前版本的 ATL 进行大量重写),并且没有我可以找到的示例完全是MFC。