如何获取 DShellFolderViewEvents 的方法签名

2024-02-26

我试图沉沦DShellFolderViewEvents使用 ATL,我能够成功订阅的唯一方法是DISPID_SELECTIONCHANGED。标题中似乎列出了许多其他事件shdispid.h,但我无法让他们开火。不确定我做错了什么(可能与 ATL 相关),但我想也许我正在使用错误的签名实现事件处理程序函数(目前我只是尝试不带参数的 void 函数)。问题是似乎没有描述的文档DShellFolderViewEvents方法。有人知道如何解决这些问题吗?


您可以查看 shell32.dll 的类型库来获取接口声明。我使用Visual Studio自带的oleview.exe来打开DLL。界面看起来像这样:

 [
  uuid(62112AA2-EBE4-11CF-A5FB-0020AFE7292D),
  helpstring("Event interface for ShellFolderView")
]
dispinterface DShellFolderViewEvents {
    properties:
    methods:
        [id(0x000000c8), helpstring("The Selection in the view changed.")]
        void SelectionChanged();
        [id(0x000000c9), helpstring("The folder has finished enumerating (flashlight is gone).")]
        void EnumDone();
        [id(0x000000ca), helpstring("A verb was invoked on an items in the view (return false to cancel).")]
        VARIANT_BOOL VerbInvoked();
        [id(0x000000cb), helpstring("the default verb (double click) was invoked on an items in the view (return false to cancel).")]
        VARIANT_BOOL DefaultVerbInvoked();
        [id(0x000000cc), helpstring("user started to drag an item (return false to cancel).")]
        VARIANT_BOOL BeginDrag();
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 DShellFolderViewEvents 的方法签名 的相关文章

  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 从安全角度来看,在 Windows 中使用管道是否被认为是危险的?

    从安全角度来看 在 Windows 中使用管道是否被认为是危险的 管道在 Windows 中并不是一个特殊的安全风险 如果您担心安全性 请确保将管道上的安全描述符设置为适当的 DACL 如果您的使用要求管道开放供任何人连接 那么您必须将传入
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • 向伪 shell (pty) 发出命令

    我尝试使用 subprocess popen os spawn 来运行进程 但似乎需要伪终端 import pty master slave pty openpty os write master ls l 应该发送 ls l 到从属终端
  • 如何在没有清单的情况下启用视觉样式

    根据docs http msdn microsoft com en us library bb773187 aspx 如果您希望应用程序使用 ComCtl32 dll 版本 6 则必须添加应用程序清单或编译器指令指定应使用版本 6 如果可用
  • 如何从 Linux 的 shell 中删除所有以 ._ 开头的文件?

    确实如标题所示 我已将许多文件从 Mac 复制到 Raspberry Pi 这导致了许多以前缀开头的多余文件 我想删除以以下开头的文件夹中的每个文件 我该怎么做 尝试类似的方法 cd path to directory rm rf 或者 如
  • 如何通过API退出Win32应用程序?

    我有一个使用 Win32 API 编写的 C Win32 应用程序 我希望强制它在其中一个函数中退出 有没有类似的东西Exit or Destroy or Abort 类似的东西会终止它吗 哎呀呀呀呀呀呀 不要做任何这些事情 exit 和
  • 如何在 Windows 上查找当前系统缓存大小?

    到处搜索 但未能找到 API 调用来检索 Windows 上 文件 系统缓存的当前大小 全局内存状态Ex https stackoverflow com a 2017659 450917 检索总计 免费 已用和交换统计数据 获取系统文件缓存
  • WINAPI/DWMAPI 不规则形状的模糊窗口

    注意 这不是关于无边框窗口的问题 因此 前几天我在 Windows 7 上浏览 开始 菜单时偶然发现了这个程序 它是一个本机 Windows 程序 称为 数学输入面板 现在 我对窗户的形状很好奇 我知道它并不是完全由 DWM 绘制的 因为边
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • 什么是特权指令?

    我添加了一些可以干净编译的代码 并且刚刚收到此 Windows 错误 MonTel Administrator 2 12 7 MtAdmin exe Application Error The exception Privileged in
  • 我刚刚在 Visual Basic 中运行的 COM 对象的 CLSID 是什么

    我需要知道我刚刚运行的 COM 对象的 CLSIDCreateObject xxx xxx 我怎么才能得到它 蒂亚 拉法尔 我认为您无法直接从 VB 本身获取该信息 例如 作为调用的副作用或次要结果 CreateObject 但你可以阅读注
  • 使用 cryptoapi CryptImportKey 导入公钥时出错

    我想将公钥 blob 导入到 CSP 但发生了错误 BYTE pbData 0xEB 0x2A 0x38 0x56 0x86 0x61 0x88 0x7F 0xA1 0x80 0xBD 0xDB 0x5C 0xAB 0xD5 0xF2 0x
  • .NET 组件和 COM 组件有什么区别

    NET 组件和 COM 组件之间有什么区别 有时我们使用 NET 组件包含在我们的项目中 有时我们包含 COM 引用 背后的想法是什么 NET 组件是托管代码 内存处理已为您完成 COM http en wikipedia org wiki
  • 此 bash 命令在 Makefile 中未正确运行

    在 Makefile 里面我有这样的 release version poetry version cut f2 d echo release version 如果我运行 我的终端中的语句将毫无问题地运行 gt version poetry
  • 如何通过 shell 脚本确定网页是否存在?

    我正在尝试制作一个程序 可以将一系列漫画扫描转换为一个 pdf 文件 并且我不想尝试下载图片来确定我是否有正确的网址 是否有一个 shell 脚本命令可以用来检查网页是否存在 在 NIX 下 您可以使用curl发出一个简单的HEAD要求 H
  • 检查Windows电源管理是否关闭了显示器

    如何在 Windows 7 和 XP 中以编程方式检查 Windows 电源管理 是否已关闭显示屏 如果能收到一个活动就更好了 我不认为 XP 可以做到这一点 Windows 7 中有各种与电源管理相关的好东西 这Windows API 代
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用

随机推荐

  • 如何以编程方式录制IOS屏幕

    有没有办法以编程方式录制 IOS 屏幕 意味着您正在执行的任何活动 例如单击按钮 滚动表格视图 即使正在播放的视频会与其他活动一起再次捕获 尝试过这些 https www raywenderlich com 30200 avfoundati
  • 保存时检测更改 Laravel 4:Eloquent

    我正在使用 Laravel 4 框架 我正在尝试找出一种方法来显示通知 具体取决于是否save 成功与否 这是我到目前为止所拥有的 if user gt save Session flash success woohoo success e
  • 将一系列父子关系转化为层次树?

    我有一堆名称 父名称对 我想将它们变成尽可能少的层次树结构 例如 这些可能是配对 Child Parent H G F G G D E D A E B C C E D NULL 需要将其转换为层次树 D E A B C G F H 我想要的
  • 防止后退按钮关闭我的应用程序

    我在应用程序的活动中使用以下代码来防止它关闭我的应用程序 Prevent app from being killed on back Override public boolean onKeyDown int keyCode KeyEven
  • 如何在光线追踪器中移动相机?

    我目前正在研究光线追踪技术 我认为我已经做得相当不错了 但是 我还没有讨论过相机 到目前为止 我使用平面片段作为视图平面 它位于 width 2 height 2 200 and width 2 height 2 200 200只是z的固定
  • Xcode 6 Swift 代码完成不起作用

    使用 Xcode 6 GM 种子我的代码完成已停止工作 前几天还在工作 我试图让放松转场工作发挥作用 我制作了一个 Objc 头文件并将其指定为 Swift 类的头 此时 我通过 Objective c 项目完成了代码 但是 对于 Swif
  • 部署到天蓝色网站后,对路径的访问被拒绝(发生“System.UnauthorizedAccessException”类型的异常)

    我正在从 blob 下载内容并将其存储在浏览我的应用程序的用户的本地文件夹中 一切工作正常 本地没有任何问题 但部署到应用服务 Web 应用程序后 我遇到了访问被拒绝的问题 我尝试过以下选项 选项1 string pathString D
  • Delphi性能:读取数据集中某个字段下的所有值

    我们正在尝试找出一些从 TADOQuery 读取的性能修复程序 目前 我们使用 while not Q eof do begin Q next 方法循环记录 对于每条记录 我们读取每条记录的 ID 和值 并将每条记录添加到组合框列表中 有没
  • 滚动视图内部滚动视图

    我知道 Google 的人要求我们不要将 Scrollable 视图放入另一个 Scrollable 视图中 但是他们有任何官方声明指示我们不要这样做吗 试试这个 Note Here parentScrollView意味着外层ScrollV
  • Pos() 在 utf8 字符串边界内

    我希望有一个 Pos 适合用于指定源字符串内的边界 而不是让它在整个数据中执行搜索 假设我有一个 100 个字符长的字符串 我只想在 unicode utf8 字符串的第 5 个和第 20 个字符之间执行 Pos 该代码应该改编自 delp
  • MySQL - 如何在 INSERT 语句中将字符串值解析为 DATETIME 格式?

    我有一个MySQL database 其中有一列是日期类型DATETIME 我从外部应用程序获取日期 时间的字符串值 该字符串值如下所示 5 15 2012 8 06 26 AM MySQL 在 INSERT 上抛出错误 Error Inc
  • System.IO.IOException CreateHostBuilder(args).Build().Run() 中的“功能未实现”

    当我开始在 Linux Docker 容器中调试我的应用程序时 在调用时出现异常CreateHostBuilder args Build 该代码是一个相当新的 AspASP NET Core MVC 3 1 项目的一部分 I saw the
  • Nexus 存储库 3 备份

    最近我安装了Nexus 存储库 3在 OpenStack Cloud 中 我已经使用它一段时间了 我想对 Nexus 执行增量备份 从而保护我们的数据 如何对 Nexus 数据进行增量备份 Nexus 备份的过程描述于文档 https he
  • 使用负年份创建 Instant

    我正在尝试创建一个Instant基于公元前公历中的年份 这是我到目前为止所拥有的 Instant FromDateTimeOffset new DateTimeOffset 1000 10 01 0 0 0 0 new System Glo
  • SwiftUI 中带有背景图像的透明导航栏

    我有一个自定义导航栏 它是一个图像 后跟标题文本 图像设置为缩放以填充 但没有完全填满导航栏 因此 您可以看到图像未覆盖的一小部分条形 我尝试将导航栏的背景颜色设置为清除 但这不起作用 有什么建议么 struct ContentView V
  • 如何通过 GPS 检查距 x,y 位置 10 米的半径

    我从 GPS 得到这个位置 40 715192 74 005795 如何判断i是否在10米半径范围内 提前致谢 使用半正矢公式http en wikipedia org wiki Haversine formula http en wiki
  • 将 yuv 序列转换为 bmp 图像

    我有 yuv 序列 我想将它们转换为 bmp 图像 我想将其保存到我的计算机上的文件夹中 我使用了 yuv2bmp m 文件这个链接 http www mathworks com matlabcentral fileexchange 255
  • 数据库 - 为什么不区分大小写?

    我看到一两个线程在全球范围内讨论区分大小写 但我的问题更具体 例如 我理解对文本值不区分大小写的搜索的兴趣 但为什么我们要使用不区分大小写的数据库名称 表和列呢 难道不会导致错误吗 使用数据库的脚本语言都是区分大小写的 因此 例如 如果我们
  • MS Graph Java SDK:如何将大文件上传到 OneDrive?

    我正在尝试从 Java 应用程序将文件上传到 OneDrive 但我不了解流程 也没有在 SKD 中看到任何用于文件上传的文档或方法 我发现的唯一流程是 driveClient me drive root createUploadSessi
  • 如何获取 DShellFolderViewEvents 的方法签名

    我试图沉沦DShellFolderViewEvents使用 ATL 我能够成功订阅的唯一方法是DISPID SELECTIONCHANGED 标题中似乎列出了许多其他事件shdispid h 但我无法让他们开火 不确定我做错了什么 可能与