问题标签 [shell32]

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 投票
9 回答
73178 浏览

c# - 如何在 C# 应用程序中使用 Shell32?

为了使 Shell32 工作,我应该在 C# 应用程序中包含什么?

编辑:

我的应用程序无法识别 shell32。我应该包括哪些参考资料或库?我想做的是:

我得到的错误是:

错误 1 ​​找不到类型或命名空间名称“Shell32”(您是否缺少 using 指令或程序集引用?)

0 投票
1 回答
624 浏览

javascript - 使用 javascript js-ctypes 创建 shell 链接

所以这就是我所得到的。在我花几天时间在黑暗中投掷飞镖之前。我想知道是否有人有任何提示。我显然不能直接从 pShellLink 调用方法。所以我需要一种方法来声明它们,但我不知道如何。关于 Javascript ctype 的例子还不多。

0 投票
1 回答
3631 浏览

visual-c++ - 无法找到 SHCreateItemFromParsingName (SHELL32.dll)

大家下午好

我想设置语音识别宏以在我的 PC (Windows XP Professional SP3) 上运行,所以我安装了 Windows 语音识别宏。但是,当我单击它时,它会指出: 过程 入口点 SHCreateItemFromParsingName 不能位于动态链接库 SHELL32.dll中。所以...

我安装了 Microsoft Visual Studio C++ 2010 然后...点击调试 - 星调试,然后项目 - Shell 32 属性 - 通用属性 - 链接器 - 输入 - 延迟加载的 DLL,然后编辑并输入 /DELAYLOAD:shell32.dll。

但是,当我单击 Windows 语音识别宏时,我仍然收到相同的错误消息。

请问你能帮忙吗??!亲切的问候

0 投票
2 回答
4810 浏览

powerbuilder - shell32.dll ; ShellExecute() 未在 Powerbuilder 11.5 中运行

我无法修复分配给我的一个错误。它应该打印参数上说明的pdf文件。它使用 ShellExecute() 函数直接打印文档。我的问题是pdf文件被认为是文档文件吗?ShellExecute() 返回 2 w/c 我发现这意味着路径或文件名无效。只是想知道为什么它返回 2。我也尝试了“打开”操作,但仍然没有操作。非常感谢您的所有帮助。

0 投票
1 回答
3277 浏览

c# - 如何从 C# 调用 SHChangeNotify 而不会出现错误 14007

我正在编写可以更新文件的代码(多么罕见和令人兴奋!)。文件更新后,我需要 Windows 资源管理器再次调用覆盖扩展,以便我始终拥有正确的文件覆盖。我想我会用一些 p/invoke 技巧来做到这一点(看看 TortoiseSVN 是如何做到的),但我总是得到错误 14007 并且找不到原因。这是代码:

Fullname 是已更新文件的路径。我收到以下错误:

我在这里做错了什么?

供参考 :

0 投票
1 回答
276 浏览

c# - 当使用 SHCNF_FLUSHNOWAIT 参数调用 SHChangeNotify 时,我可以释放为参数分配的内存吗?

我对 SHChangeNotify 有以下声明:

下面的代码安全吗?

SHCNF_FLUSHNOWAIT 上的文档指出“该函数应开始向所有受影响的组件发送通知,但应在通知过程开始后立即返回”。

当我在 ptr 上调用 FreeHGlobal 时,我是否应该担心释放仍然可以在某处使用的内存,或者 SHChangeNotify 是否对字符串的副本起作用?

我的测试表明我的代码正在运行,但我不想部署它并看到以后出现问题......

0 投票
1 回答
959 浏览

c# - 从托管代码调用 SHCreateItemFromParsingName 时是否需要释放资源?

我有以下代码

要使用此功能:

它工作得很好,我以后用它来获取操作系统图标位图。我的问题是:

我需要释放任何资源吗?有人能告诉我怎么做吗?

提前致谢。

0 投票
1 回答
451 浏览

winapi - 绕过 ITEMIDLIST 的 MAX_PATH 限制?

是否有任何已知的方法(无论是记录还是其他方式)ITEMIDLIST从路径创建结构,例如 with ILCreateFromPath,同时绕过MAX_PATH长度限制?

0 投票
2 回答
8260 浏览

vb.net - 如何检查 Shell32.Folder.CopyHere() 何时完成

我需要使用 Shell32 解压缩应用程序中的一些文件。现在,我用它 srcFolder.CopyHere(destFolder.Items())来实现这一点。但是,我的下一行代码需要新制作的 ZIP 文件。但是由于该CopyHere方法是异步的,我如何检查它何时完成?现在我使用了Thread.Sleep大约 500 毫秒的时间,这足以让我的计算机完成创建 ZIP 文件,但它不是很好的代码 imo。

有任何想法吗?

如有必要,可以提供更多信息/代码。

0 投票
2 回答
2375 浏览

windows - 在线程中调用 SHGetFileInfo 以避免 UI 冻结

在 .NET 4.0 应用程序 (WPF) 中,我们SHGetFileInfo用于获取目录树的外壳图标​​。由于在某些情况下这需要相当长的时间(即对于无法访问的网络驱动器或软盘驱动器),我们希望在线程中执行此操作,然后在读入图标时更新图标。

调用基本相同,现在只是在一个线程内执行。因为有人说必须要有线程才能STA工作,所以我们使用Thread而不是ThreadPool进行测试,结果是一样的。使用ThreadPool也没有用。

SHGetFileInfo成功(返回 1),但结构中的 hIcon 成员为零。

相同的代码在 GUI 线程中运行良好。必须做什么才能使函数从单独的线程中工作,或者在不阻塞 GUI 线程的情况下使其工作?


更新:围绕这个的代码基本上是这样的:

如果只保留线程委托中的行,则它可以正常工作(当然是在 GUI 线程上)。


更新:现在,我们只是调用SHGetFileInfo它来使其工作。这样做的好处是解决了最初的问题(在加载所有图标之前,不会显示带有文件视图的页面),尽管这意味着页面对于每个图标都挂起。但至少用户现在可以看到正在发生的事情。我们仍在寻找问题的实际解决方案。