问题标签 [shell32.dll]

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 投票
0 回答
775 浏览

c# - ShellExecuteEx 函数在 Windows 10 中以不同的方式工作?

我正在尝试打开文件的信息属性。在以前版本的 Windows 中,显示属性窗口,然后在我的代码中将控制权交给下一个函数,但在 Windows 10 中,函数调用卡住,直到我通过鼠标单击关闭文件属性。
我想知道新的 Windows 版本有什么变化?
我的代码如下:

0 投票
1 回答
2214 浏览

excel - ShellExecuteEx 在 Excel VBA 中崩溃

由于发生了 Windows 更新,一个 API 调用ShellExecuteEx(sExecuteInfo)崩溃,说:

0x75F7A529 (shell32.dll) 处的未处理异常访问冲突读取位置 0x68686903

我不知道这里出了什么问题,你能帮我吗?

定义 :

代码:

0 投票
1 回答
566 浏览

c# - 如何使用 Windows API 代码包获取根驱动器详细信息?

我编写了一个函数,它允许我获取任何文件的所有属性。
此功能甚至适用于文件夹。

但我提到,如果没有“Windows API 代码包”并使用“Shell32”,您可以尽早获得任何文件的大约 308 个属性。

但是,使用“Windows API 代码包”时,“DefaultPropertyCollection”集合中只有 56 个属性。
例如,此集合中没有“评级”属性。
然后我意识到我应该查看“shellFile.Properties.System”而不是“shellFile.Properties.DefaultPropertyCollection”

是的,这是真的!
但是,您如何使用此“shellFile.Properties.System”获取任何文件的所有其他 200 多个属性?
它甚至不是收藏!它不是 IEnumerable!你不能使用 foreach 循环!
你应该总是输入

无论如何,我也无法获得根驱动器的详细信息!
无论是使用“Windows API 代码包”还是使用“Shell32”,我都无法获得任何分区的“DriveFormat”!请!告诉我如何获取“C Drive”详细信息?

0 投票
0 回答
641 浏览

windows - 从命令行访问 Shell32.dll 字符串表

我正在制作一个简单的 Win32 批处理来执行一些任务。其中之一是在每个目录中添加“在此处打开提示”。阅读周围我了解到您可以使用 Shell32.dll 字符串来表以将其字符串与 regedit 一起使用,例如这是我的批处理测试。

我的问题是:如何提取 shell32.dll 的字符串,以便用户可以看到这样的输出(西班牙语):

0 投票
0 回答
114 浏览

c# - 如何在 C# 中调用 SHSetLocalizedName

我想本地化一个文件夹名称。虽然我在 C# 中没有找到任何方法,但 Microsoft 提供了 C++ 函数SHSetLocalizedName

我应该能够通过像这样声明它来访问这个函数:

但是,如何提供必要的参数?我可能需要一个非托管资源文件?我怎么知道资源字符串的 ID?

感谢您的任何提示。

0 投票
1 回答
607 浏览

vb.net - 在列表视图 VB.NET 中显示网络文件夹图标

如何在列表视图中显示网络文件夹图标?文件夹下有绿色管的那个,我的代码可以很好地处理文件和文件夹,但是当通过网络访问其他计算机时,我看不到看起来像这个的网络文件夹。

在此处输入图像描述

我应该添加什么?

这是我的代码:这就是我在ListView

这就是我从 shell32 获取图标的方式。

0 投票
1 回答
3321 浏览

vb.net - Visual Basic (vb.net):获取视频文件的详细信息,例如。框架宽度

我正在使用 shell32.dll 来检索文件的扩展属性。我的文本框将显示文件的每个属性(iCollumn -1 到 300),但不会显示 framewidth 或 frameheight(以及许多其他属性)。

有没有办法使用 shell32.dll 获得这些?如果没有,是否有替代方法来获取这些缺失的属性?

注意:我在 Windows 资源管理器中显示了扩展,我的项目引用了 Microsoft shell 控件和自动化。

代码:

输出(为了空间我只显示了没有显示的结果):

0 投票
1 回答
771 浏览

c++ - 以 Windows 7 桌面为目标:标识符“SHGetKnownFolderPath”未定义

我正在为 Windows 7 及更高版本编写 C++ 桌面应用程序。
我想获取 AppData/Roaming 文件夹的路径,所以我使用SHGetKnownFolderPath

问题:构建失败identifier "SHGetKnownFolderPath" is undefined,这很奇怪,因为我认为我包含了正确的标题。


笔记:

  • Visual Studio 2015 告诉我我的编译选项是/Yu"stdafx.h" /GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /Fd"Debug\vc140.pdb" /Zc:inline /fp:precise /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_USRDLL" /D "_WINDLL" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\OverlayIcon.pch".
  • 错误不同:标识符:“SHGetKnownFolderPath”未识别,问题在于提问者的目标不仅仅是桌面。
0 投票
1 回答
1948 浏览

c# - C# .NET 4.5 在没有 shell32.shell() 的情况下获取快捷方式的目标

我不是一个非常有经验的程序员和 C# 新手,我在使用 shell32.shell() 获取快捷方式的目标时遇到了一些问题。我在 stackoverflow 上找到了代码——它在普通的 Windows PC 上运行良好,但是当在 Citrix 虚拟化 Windows 桌面(我需要它运行的地方)上执行时,它会中断。

代码通过 foreach 循环通过文件夹中的快捷方式运行,并过滤掉任何具有可执行目标的内容。问题是,为了找到快捷方式的目标,我使用下面的代码,一旦它被称为 foreach 就会中断并且不再继续(在 Citrix 上)。

我已经确定中断发生在“var shl = new Shell32.Shell();”行,该行之后的代码不会触发并退出 foreach(但在 foreach 之后继续执行代码)。

有谁知道另一种方法来查找可在 Citrix 虚拟化环境中工作的快捷方式的目标?

0 投票
1 回答
1339 浏览

c++ - Qt:如何通过外部程序打开文件,“打开方式...”对话框

如何通过关联的外部程序打开文件,如果失败,则调用“打开方式...”对话框?

它可以是平台无关的代码吗?或者我需要使用

为每个平台实现“打开方式...”对话框调用的结构?

提前致谢

编辑:更新,经过几个小时的研究,我找到了适用于 Windows 的良好解决方案。

我们尝试使用 ShellExecute(...) 打开文件,如果它因文件关联错误而失败,我们通过“打开为”Shell32.dll 对话框打开文件

EDIT2:问题是,我不使用

这个函数