问题标签 [shell-extensions]
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# - 没有进程的不可关闭的应用程序
首先请原谅我的英语不好我正在为我的公司编写一个安全应用程序,我想阻止用户在我的应用程序中打开特定的程序,如 torrent。但这不是问题。问题开始于用户可以以某种方式关闭我的应用程序......他们可以结束进程并且......我需要一些解决方案来向用户隐藏我的应用程序或使其不可关闭我正在考虑类似网络通知图标或 Windows 中的时钟,我阅读了有关资源管理器扩展的信息,但它们对我没有帮助,因为它们已经可以通过我需要应用程序开始在计算机启动上工作的方式关闭自动
感谢大家
c++ - VS COM 项目在 32 位编译,但在尝试编译 64 位时抛出错误 C2259
您好,我目前正在运行 Visual Studio 2010,并且有一个上下文菜单外壳扩展,它在 32 位机器上完全以 32 位运行,因此所有方法都存在。这是一个 ATL 项目。在 32 位上没有错误甚至警告。
这是问题所在。当我进入 Visual Studio 下的配置管理器并将活动解决方案平台从 Win32 切换到 x64 并尝试编译时,我收到错误“错误 C2259:'ATL::CCOMObject: 无法实例化抽象类”。
既然这个完全相同的项目确实在 32 位下编译和运行,为什么它会给我带来 x64 的错误?
任何想法或正确方向的观点将不胜感激。
需要和实现的主要方法如下:
节省代码空间 创建一个 Atl 项目。创建初始项目后,添加一个新类“TestingContextMenu”其余代码将引用它。
标准文件
TestingContextMenu.h 仅包含已添加/更改的部分
测试上下文菜单.cpp
其余功能可应要求提供。但是我注意到了一些新的东西。如果您刚刚实现了上述功能和代码,并且配置管理器设置为构建 x64,那么您会得到我遇到的初始错误。这甚至意味着不实现 QueryContextMenu、GetCommandString 或调用命令。您在此设置中遇到的唯一错误是我原来的错误,这是我们所期望的,因为它们没有实现。但是,将该配置管理器切换回 Win32,您会得到预期的错误,例如 3 个未解析的外部,以及命名 GetCommandString、InvokeCommand 和 QueryContextMenu 之后的 3 个错误。如果它们没有被实现,那么再次预期,但是为什么 x64 上的编译器只识别我原来的错误,这是很多人认为的,而不是实现的方法,
上一段只是我注意到的。我确实正确实现了所有 3 种方法,并且在 Win32 中正确编译,但在 x64 中编译不正确。
c# - 如何通过 windows shell (iDropTarget) 填充列表或视图
我有一个带有树视图的小 WinForms 应用程序。我可以拖放文件和目录,并且可以通过在其上拖放一个或多个文件或目录/使用命令行(args)来启动程序。我想不通的是如何进行外壳扩展以允许资源管理器的多个部分启动它。
有没有人有一个小示例说明使用 shell 扩展和 GUI 和/或从命令行填充某种类型的列表或视图?
我将非常感谢您的帮助!
谢谢。
windows - 在 explorer-shell-extension 中创建子菜单?
我创建了一个更改文件名的小脚本(用 替换空格_
等)。我用参数控制这个脚本。
现在我想将它包含到我的 explorer-shell-extention 中,所以我尝试添加以下注册表项:
等等。
它工作正常,但我想将所有这些方法打包到一个子菜单中。有点像“打开方式”选项。那可能吗?
c++ - 如何使用 C++ 检查计算机中安装的 ShellIconOverLayIdentifers 总数
我需要使用 C++ 和 win32 API 以编程方式检查安装在计算机中的 ShellIconOverLayIdentifers 总数。
我可以检查以下路径下的标识符以获取总数吗?
contextmenu - Windows 资源管理器上下文菜单图标上的白色背景
我有一个 COM shell 扩展,它将一个项目添加到 Windows 资源管理器上下文菜单中,并使用具有透明背景的 BMP 图像作为图标。
要设置我使用的图像,SetMenuItemBitmaps
如下所示:
我的问题是 - 当图标第一次出现时它看起来不错,但在将鼠标悬停在其上方后,图标的背景变为白色(而不是透明)并保持白色,直到我重新打开菜单。
我已经尝试在参数“hBitmapUnchecked”、“hBitmapChecked”中设置两个非默认值 - 但它似乎没有任何区别。结果保持不变。
这是悬停前的图标图像(放大到 400%):
这是悬停后的图标图像:
注意第二张图片周围的白色背景!
到目前为止,我还没有在谷歌上找到任何相关的东西。是否有其他方法可以设置图标以避免这种烦人的背景?
windows - 在 XP 的 Windows 资源管理器中更改“其他位置”
XP中Windows资源管理器左侧面板中的“其他地方”来自哪里(例如在注册表中?)并且可以更改吗?我似乎找不到任何成功改变这一点的人。
c++ - 加载和卸载 shell 扩展库
我正在开发一个上下文菜单(shell 扩展),当我尝试重建解决方案时,它说 .dll 库无法打开,因为它正在使用中。如何手动卸载库,以便重建它并在重建后再次加载它?任何命令行命令?
windows - Shell 命名空间扩展添加路障
我在Windows XP中使用默认 shell 视图实现了命名空间扩展。一切正常,但我想添加路障(受保护文件夹的描述- 也适用于 Windows XP)。是否可以使用记录/未记录的功能(SFVM 消息),或者此功能是硬编码的?
c++ - 位图图像未显示在 CListCtrl 报告视图中
我正在尝试在 MFC 中创建一个包含 CListCtrl 的对话框,以显示带有关联图像的项目列表。但是,图像显示为空白的白色方块。他们在那里,或者至少,他们应该在的地方有一个空间。
我正在尝试从文件加载位图(尽管我也尝试从具有相同效果的资源 ID 加载)并将其存储在 CImageList 中。然后将该图像列表提供给 CListCtrl。我相当确定位图已正确加载,因为我已设法使用相同的代码在项目的其他地方成功加载了相同的位图。
我不确定这是否重要,但这是上下文菜单外壳扩展的一部分,当用户单击资源管理器上下文菜单中的一项时会引发对话框。另外,我对 MFC 比较陌生,所以如果我错过了一些非常明显的东西,我深表歉意。
以下是我在报告视图中初始化 CListCtrl 的代码,其中包含两列和一个项目,该项目应在第一列中包含图像,在第二列中包含一些文本:
知道我做错了什么吗?