在应用程序中集成外壳的上下文菜单(下)

在应用程序中集成外壳的上下文菜单 关键字:Shell, Namespace, IContextMenu, 外壳, 名字空间, 上下文菜单文章难度:初级 介绍(What is the shell contextmenu) 随着越来越多的软件对外壳的扩展,资源管理器变得是越来越强大和易用,以前要压缩一个或多个文件,你得老老实实找到压缩软件的快捷方式并打开他,接着进行一系列的选择操作, 阅读详情

(二)  响应鼠标单击消息,获取IContextMenu接口并弹出菜单;

通过C盘的IShellFolder接口的GetUIObjectOf方法我们可以得到该节点的一个或多个指定子节点的IContextMenu接口,该方法原型如下:

HRESULT GetUIObjectOf(
   
    HWND hwndOwner,
   
    UINT cidl,     //指定apidl指向的数组中包函的pidl的个数
   
    LPCITEMIDLIST *apidl,//指向cidl个PIDL,需要注意的是,这些pidl都必须是相对的
   
    REFIID riid,   //我们要的是上下文菜单接口,这里指定为IID_IContextMenu_
   
    UINT *rgfReserved,
   
    VOID **ppv
   
   );
    
HRESULT        hr;
       
ContextMenu   *pcm = NULL;
       
hr = m_psfFolderC->GetUIObjectOf(GetSafeHwnd(),aryListBoxSel.GetSize(), 
       
(LPCITEMIDLIST*)pPidls, IID_IContextMenu, NULL, (void**)&pcm);
        

    
      
    
得到IContextMenu后我们得提供一个弹出式菜单的句柄,并把他传给IContextMenu::QueryContextMenu,
    
37、设计与外壳集成的应用程序 本文深入探讨了如何设计与Windows外壳集成的应用程序,涵盖文档类型的注册、图标与用户界面配置、上下文菜单命令添加、外壳扩展机制、新建文档功能实现,以及应用程序路径和自动启动设置。通过注册表操作实现与资源管理器的深度整合,并结合流程图与实践案例,提供了关于MDI/SDI设计选择、单实例控制、DLL管理等方面的详细指导。最后展望了智能化集成、云服务融合等未来趋势,为开发者构建无缝用户体验的桌面应用提供全面参考。 阅读详情

相关推荐

39、设计与外壳集成的应用程序

本文详细介绍了如何设计一个与操作系统外壳紧密集成的应用程序,涵盖单实例检测、注册文件类型与图标、添加上下文菜单项、支持拖放操作、设置自定义文件夹图标、自动管理最近使用文档列表,以及实现功能丰富的自定义打开对话框。通过注册表配置和Windows API的深入应用,开发者可显著提升应用程序的用户体验和系统融合度。

bush的博客 47

实现Windows右键菜单的简单教程:外壳上下文菜单开发

在数字时代,个性化和效率成为用户体验的关键。外壳扩展技术,尤其是上下文菜单的定制,为用户提供了更加直接和高效的交互方式。上下文菜单,通常是指用户在执行特定操作(如右键点击文件或文件夹)时弹出的菜单,它可以根据程序或用户的设置展示不同的命令选项。通过外壳扩展,开发者能够向这些菜单中添加新的功能,从而提高工作效率和用户体验。本章将探讨外壳扩展与上下文菜单的基础概念,包括它们的组成、用户与系统间的交互机制以及外壳扩展如何在用户界面中发挥作用。

weixin_32661831的博客 886

Qt实现Windows的SendTo菜单

本资源在Qt平台下利用Windows API实现Windows发送到(SendTo)菜单,并实现菜单项单击功能。

ShellContextMenu

ShellContextMenu 在自己开发的程序中加入系统菜单。

CShellContextMenu类

MFC---CShellContextMenu类:基于shobjIdl.h 主要用到这三个接口 GetUIObjectOf、QueryContextMenu、InvokeCommand弹出系统右键菜单。

获取缩略图,利用shell32

此为用vs2005编写的用来获取文件缩略图的C++程序,用到了mfc库。 不保证正确。

自研半导体Fab缺陷分析系统:从Klarf解析到Defect Map可视化的实战替代方案

本文分享了自研半导体Fab缺陷分析系统的实战经验,重点解析了Klarf文件格式与坐标系转换的核心技术,并详细介绍了从数据解析到Defect Map可视化的完整实现路径。该系统旨在为成本敏感或追求技术自主的团队提供一套功能完备的Klarity Defect平替方案,有效降低对昂贵商业软件的依赖,实现缺陷数据的自主分析与可视化。

y7z8a的博客 712

Camera ITS测试

一、手机端设置: 将 CtsVerifier.apk 安装到设备上, 连接上linux主机。 二、主机端设置: 基础:CTS测试运行环境 然后,主机安装python2.7,及numpy/scipy/matplotlib/opencv 栈和 python 成像库。按照下面的命令依次安装: sudo apt­-get install python-­numpy sudo apt-­g...

wangubuntu的专栏 7786

DBSCAN聚类算法——机器学习(理论+图解+python代码)

一、前言 二、DBSCAN聚类算法 三、参数选择 四、DBSCAN算法迭代可视化展示 五、常用的评估方法:轮廓系数 六、用Python实现DBSCAN聚类算法 一、前言 去年学聚类算法的R语言的时候,有层次聚类、系统聚类、K-means聚类、K中心聚类,最后呢,被DBSCAN聚类算法迷上了,为什么呢,首先它可以发现任何形状的簇,其次我认为它的理论也是比较简单易懂的。今年在python...

huacha__的博客 20万+

LangChain学习及应用(超详细)

Model I/O 部分是与语言模型进行交互的核心组件,包括输入提示(Prompt Template)、调用模型(Model)、输出解析(Output Parser)。简单来说,就是输入、处理、输出这三个步骤。LLM 因其具有海量参数,需要花费相当的物力与时间成本进行预训练和微调,同时商用 LLM 还需要进行各种安全测试与风险评估等。因此 LLM 会存在知识滞后的问题。在专有领域,LLM 无法学习到所有的专业知识细节,因此在面向专业领域知识的提问时,无法给出可靠准确的回答。

weixin_39764056的博客 4257

【XAI】透视深度学习:CNN与Transformer的可解释性方法

深度学习模型的可解释性方法解析:本文探讨了CNN和Transformer两类主流模型的可解释性技术。针对CNN,介绍了显著性图、类激活图(CAM/Grad-CAM)和基于扰动的方法,通过可视化重要像素区域揭示决策依据。对于Transformer,重点分析了注意力机制可视化及其在文本处理中的应用,并介绍了积分梯度等归因方法。文章包含详细的Python实现示例(使用Captum库),涵盖从MNIST图像显著性分析到BERT文本注意力可视化,为初学者提供了可操作的技术指南。这些方法有助于增强模型透明度,提升AI系

u012133341的博客 382

9、从统计到电路:未来物理不可克隆函数的基础

本文探讨了物理不可克隆函数(PUF)的关键技术,包括补偿环境影响、处理相关工艺变化、身份映射和测试方法。提出了一种基于新测试统计量Q的方法,有效提升了PUF的熵值和安全性。通过实验验证,新方法能够显著区分不同芯片,并增强PUF在不同环境下的适应性和可靠性,为未来PUF的设计与应用提供了重要基础。

pluto的博客 120

通过轻量级图像增强Transformer (IAT) 提升YOLOv8在低光环境下的检测性能

随着深度学习和计算机视觉的快速发展,目标检测模型在各个领域中的应用不断扩展,特别是在低照度环境下的视觉任务。YOLOv8作为当前最先进的目标检测模型之一,在高亮度和良好照明条件下表现出色,但在低照度环境下的性能存在一定的不足。为了解决这一问题,我们提出了一种轻量级的低照度图像增强网络(IAT)来改进YOLOv8的暗光检测能力。本篇文章将深入探讨这一创新改进,并附带代码实现,帮助大家更好地理解这一技术的应用和效果。

博客 1214

[网络安全提高篇] 一二〇.恶意软件动态分析经典沙箱Cape批量提取动态API特征

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文详细介绍动态分析沙箱Cape的安装过程,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。然而,当样本数量增加时,单个样本分析会降低效率。这篇文章将讲解如何实现Cape沙箱的批量分析,通过调用Python脚本文件来实施批量处理,并将分析结果存储在指定位置,最后补充submit.py的参数及Python调用方式。基础性文章,希望对您有帮助!

杨秀璋的专栏 4123

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

下一篇: 在应用程序中集成外壳的上下文菜单(上)
IFoo
博客等级 码龄23年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值