问题标签 [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.
c# - How to add reference to IRunnableTask
I need to be able to implement the IRunnableTask interface, and have no idea how. I tried adding reference to C:\Windows\System32\Shell32.dll -- no luck... google to try and find information... nothing around how to import/include in a .net project to access IRunnableTask.
I'm sure this is an easy one for someone that has used this interface before.
windows - 为什么 Detours 不能再在 Windows 7+ 中挂钩 shell32.dll 函数
在 Windows XP 中,可以使用以下 shell32 挂钩来挂钩资源管理器:
出于某种原因,在 Windows 7 上,即使 DetourAttach 仍然返回成功,这也不再有效。我安装的所有其他钩子(例如在 ntdll.dll 中)仍然有效,但我在 shell32.dll 中创建的钩子不再有效。
我将 Windbg 附加到资源管理器并运行uf shell32!SHFileOperationW
它表明该函数确实现在确实跳转到了我的函数:
然而,不知何故,资源管理器跳过了我的弯路,进入了 SHFileOperation 函数的其他部分......
c# - 从 Windows 桌面获取选定文件的列表
我正在尝试从 Windows 桌面和资源管理器 Windows 中获取选定文件的列表。要求是我应该能够从活动的资源管理器窗口或桌面检索当前选择。
在浏览了在线资源后,我设法将以下代码放在一起,但它没有提供桌面中选定项目的列表。
除此之外,我尝试了以下操作,但它只是给出了所有打开的资源管理器窗口中所有选定元素的列表,而忽略了桌面。
所以我总是从资源管理器窗口中得到一个列表,即使没有打开资源管理器窗口也没有得到任何结果。当前的技术似乎完全忽略了桌面。
如果有人可以帮助我从当前活动的窗口/桌面获取选定文件的列表,我将不胜感激。
谢谢你。
.net - Windows Server 2008R2 上任务栏位置的 SHAppBarMessage 问题
我有一个非常奇怪的问题SHAppBarMessage
,现在已经尝试了几个小时不同的东西,但我没有得到它。我正在尝试获取任务栏位置。它在 Windows 8 上运行良好,但在 Windows Server 上返回值为SHAppBarMessage
.
答案中的以下代码在 Windows 8 上运行良好,但在 Windows 2008R2 上它有一个奇怪的行为。
我完全没有想法。因为它应该按原样工作。但我不知道为什么它不起作用。我错过了什么吗?
c++ - 在 C++ 中使用 shell32
我正在尝试使用一些使用IID_IShellDispatch
andCLSID_Shell
常量的代码。
我的包括:
编码:
上面的最后一行抛出关于未定义引用 CLSID_Shell 和 IID_IShellDispatch 的错误
该代码是 Qt 项目的一部分,因此我使用的是 Qt 项目文件(用于 qmake),并且已将其添加-lshell32
到LIBS
它的部分:
执行的命令是
在win7上使用MinGW
windows - SW_MAXIMIZED 和无法最大化的应用
我正在使用 ShellExecuteEx 从我自己的应用程序中启动应用程序。我的应用程序的一个功能是允许它启动的应用程序在打开时最大化......这在 99% 的情况下都可以正常工作,因为我可以将SW_SHOWMAXIMIZED
标志添加到 SHELLEXECUTEINFO 结构中的 nShow 字段。
现在,有些应用程序不允许自己最大化(标题栏区域的最大化按钮是灰色的)。在这组应用程序中,一些——比如calc.exe
——将忽略 SW_MAXIMIZE 标志并以默认大小启动。不幸的是,其他应用程序——比如charmap.exe
——无论如何都设法打开最大化(因此看起来很奇怪)。
我正在尝试确定是否(1)这是我必须忍受的那些特定应用程序中的错误,(2)我可以做一些更好的事情来阻止这种情况发生,或者(3)我需要想出一些不明显的解决方法。任何帮助表示赞赏。
vb.net - 使用 shell32 压缩文件时的 VB.NET System.NullReferenceException
我试图制作一个压缩文件夹的程序,但我不断收到 NullReferenceException 并且它没有创建所需的 zip 文件。我忘记了什么吗?我正在使用 Shell32,zip 子来自 codeproject 教程。无论如何,这里是代码:
c# - Shell32.Folder.GetDetailsOf(..,..) 有哪些可用选项?
我已经看到GetDetailsOf()
用于获取有关外壳项目详细信息的答案,但这些数字始终是神奇的数字。
我查看了FolderItem 和GetDetailsOf的文档, 但一无所获。(后者中的列表并不适用于所有内容。它们不包括“描述”、“作者”,也不包括回收站删除日期......)
是否有一些方法可以返回项目的可能选项?它在某处列出吗?
excel - VBA Shell32 图标
有没有办法将 Shell32 中的图标嵌入到 Access 应用程序中?
理想情况下,我希望将它们存储为图像(可能在 ImageList 中),但这并不重要,只要我可以在应用程序中使用它们。看来以下代码与我想要的很接近,但由于我对 VB 和 API 的了解有限,我无法将其适应 VBA
c# - 删除文件夹项
我想删除存储在 USB 闪存驱动器(实际上是 android 设备的 sd 卡)中的文件。
我要求用户将应用程序的文件夹指向 sd 卡内,然后我持有一个Shell32.Folder
指向它的对象。
我可以在文件(对象)之间进行迭代FolderItem
,但是如何使用Shell32
类删除文件?
通常File.Delete(filePath)
不起作用,因为它FolderItem.Path
是 BSTR 数据类型,所以也许关键是从一种类型转换为另一种类型,但我找不到这样做的方法。
有任何想法吗?
编辑1:
FolderItem.Path
数据:
"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_04e8&pid_6860&ms_comp_mtp>-p5100#7&392be4e4&0&0000#{6ac27878-a6fa-4155-ba85-f98f491d4f33}\SID-{10001,SECZ9519043CHOHB,12530364416}\{ 015C008D-013D-0145-D300-D300CB009500}\{015C00EE-013D-0145-0201-37012C010901}\{025901D2-029D-020F-DE01-FE010D02A601}"
这不是File.Delete
. 关于如何转换的任何想法?
编辑2:
打开浏览文件夹窗口的方法,用户可以在他的android设备的SD卡中指出应用程序目录,这样我就可以迭代文件夹和文件,并与服务器同步一些数据。由于Win8和Shell32之间的问题,这样做:
使用上述方法,获取文件夹:
我创建一个文件并将其复制到应用程序的“数据”文件夹中,以便设备可以识别同步操作、告诉用户并关闭应用程序:
同步后,我想删除文件,以便应用程序可以正常运行:
如编辑 1file.Path
中所述,我要删除的文件具有以下格式:
"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_04e8&pid_6860&ms_comp_mtp>-p5100#7&392be4e4&0&0000#{6ac27878-a6fa-4155-ba85-f98f491d4f33}\SID-{10001,SECZ9519043CHOHB,12530364416}\{ 015C008D-013D-0145-D300-D300CB009500}\{015C00EE-013D-0145-0201-37012C010901}\{025901D2-029D-020F-DE01-FE010D02A601}"
编辑 3:
正如这里所建议的,我尝试使用 P/Invoke 删除文件,但没有成功。
调用方法:
该方法返回false,文件没有被删除。我在事件查看器中寻找关于发生了什么的线索,但什么也没找到。