问题标签 [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.
winapi - 有没有办法解决适用于最终在 c:\windows\installer 中的链接的 .lnk 目标?
解决 lnk 的常用方法包括使用 WShell.WshShortcut 或 IShellLink :
但是有些链接无法以这种方式解决:例如,分辨率以c:\windows\installer\{some-guid}\python_icon.exe 结尾。大多数 Office 程序也有这个问题。
CodeProject 通过对 lnk 格式http://www.codeproject.com/KB/shell/ReadLnkFile.aspx进行逆向工程来完成另一种解决方案,但它在这些情况下不起作用。
还有其他方法吗?
这个 c:\Windows\Installer 文件夹是什么?放入其中的 something_icon.exe 是什么?
windows-shell - 通过文件扩展名获取扩展名和图标的最快方法?
有几种方法可以获取给定扩展名的描述和默认图标(没有完整路径),例如对于“*.doc”,我想获取“Microsoft Word 文档”和相关图标,您认为哪个最快以下之一:
搜索注册表:
- 在注册表中,转到“HKCR.{extension}”,读取默认值(我们称之为文件类型)
- 在 "HKCR{filetype}\DefaultIcon" 中,读取默认值:这是图标文件(或图标容器文件,如带有嵌入图标资源的 .exe)的路径
- 如果需要,请使用您首选的方法从上述文件中提取图标资源。
调用 API ShGetFileInfo。我相信这有点慢。
根据 Rob 的说法,这里:如何使用 Delphi 从文件扩展名中获取图标和描述?
将 IExtractIcon 接口称为“更灵活、更高效”的替代方案。但它推荐的顺序是使用 IShellFolder 接口,然后调用 GetUIObjectOf 来获取文件的 IExtractIcon 接口,然后在其上调用 GetIconLocation 和 Extract 以检索图标的句柄。(但这种方法无法读取扩展描述?)
由于速度非常重要,因为我需要读取系统中所有文件类型的信息。
非常感谢你!
windows-explorer - 如何为所有用户都可以使用的“SendTo”菜单添加快捷方式
您可以通过在用户配置文件文件夹中包含的 SendTo 文件夹中创建应用程序快捷方式,例如 C:\Documents and Settings\Username\SendTo\,将新项目添加到“发送到”Windows 资源管理器菜单
但是,如何添加一个可供所有用户使用的“发送至”菜单项,而无需将其添加到每个用户的个人资料文件夹中?
我发现一页建议您可以在 C:\Documents and Settings\All Users 中创建一个 SendTo 文件夹,但该文章针对的是 Windows 2000,并且似乎不适用于 Windows XP。
winapi - 为什么我找不到 CSIDL_PROFILES 的#define?
我正在尝试使用ShGetFolderPath来确定用户配置文件文件夹的路径。文档指出 CSIDL_PROFILES 定义了这个文件夹:
CSIDL_PROFILES (0x003e)
6.0 版。包含用户配置文件文件夹的文件系统目录。一个典型的路径是 C:\Documents and Settings。
CSIDL_PROFILES
我使用的是 Visual Studio 2005 SP1,在 Platform SDK 包含文件中找不到常量的定义?我需要新版本的 Platform SDK 吗?
所以我通过使用 ID 0x3e 代替符号进行了更多实验。但是,看起来 0x3e 不是接受 CSIDL_* 参数的 shell 函数的有效参数(返回无效参数错误)。
所以我猜 CSIDL_PROFILES 不是一个有效的论点,当他们提到这个符号时,至少有一些关于这个主题的 MSDN 页面是不正确的。我不得不说,在我使用 Win32/MSDN 文档的所有岁月中,我不记得有类似的情况。
icons - 如何根据文件夹路径获取LPITEMIDLIST指针?
我想获取指定文件夹的系统图标,但检索图标的唯一方法可能是使用 SHGetFileInfo() 方法。SHGetFileInfo()方法的第一个参数是一个LPITEMIDLIST的指针。
如果我只有文件夹的绝对路径,如何根据路径获取指针?
delphi - 在代码中设置 TShellListView 持久列宽
有没有办法使用代码在 vsReport 模式下持续设置 Delphi 2007 TShellListView 的列宽?普通的 ShellListView.Columns[0].Width 属性仅设置当前目录的宽度,并且在每次更改当前目录或刷新文件列表(包括通过代码进行的刷新和目录更改)后,该宽度都会重置,用户双击文件夹等)。
button - Vista Shellview 帮助按钮
我已经使用 VC 2005 创建了一个命名空间扩展...我想知道如何利用 vista 工具栏上的帮助按钮来显示我的产品的帮助文档。目前,帮助按钮可用,但单击它不会执行任何操作。
我想知道如何处理 Vista 和 7 中的帮助按钮,因为这是以前的 Windows 版本(如 XP)中没有的新功能。
c++ - 如何代替默认的 Windows XP shell 运行我的应用程序?
我正在与一位同事讨论以下是否可行:
- 在 Windows XP 中从 USB 驱动器安装 MFC 应用程序(此安装将由具有足够权限的用户手动启动以安装软件)。
- 重新启动后,该应用程序应启动,而不是默认的 Windows XP shell (explorer.exe)。
有谁知道我如何做到这一点?
windows - 如何在 Windows 资源管理器中添加新按钮?
我想知道如何在 Windows 资源管理器中添加新按钮。我不想创建一个新的工具栏。我只想在同一个 Windows 资源管理器标准按钮工具栏中添加一个新按钮,而不是 IE。
我感谢任何可能的帮助。
问候
.net - Get common desktop path in .NET
I need to store files into the common desktop on Windows. The application is a very special application for exactly one special PC (device preparation), so it had to be easy for non-techie users to find and modify the configuration file. Now we switched to a domain, and because different people (with different accounts) should use the software, it has to be in a common place, seen by every user. So please don't ask why it's on the desktop ;)
Previously, I just used Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
. There are several of the common folders in the SpecialFolder
enumeration, but the common desktop seems not to be there. Am I missing something, or do I have to p/invoke SHGetSpecialFolderPath
with CSIDL_COMMON_DESKTOPDIRECTORY
?