热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

替换桌面快捷方式图标

给桌面快捷方式替换图标#include#includeboolChangeLinkIcon(constCString&strLnk
给桌面快捷方式替换图标

#include
#include
bool ChangeLinkIcon(const CString &strLnkName, const CString &strIconPath)
{if (strLnkName.IsEmpty() || strIconPath.IsEmpty()){return false;}HRESULT hres;IShellLink *psl = NULL;IPersistFile *pPf = NULL;bool bRet = false;do//之所以用do while(0)是为了方便流程管理,统一释放{hres = CoInitialize(NULL);if (FAILED(hres)){break;}hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl);if (FAILED(hres)){break;}hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&pPf);if (FAILED(hres)){break;}hres = pPf->Load(strLnkName, STGM_READWRITE);if (FAILED(hres)){break;}hres = psl->SetIconLocation(strIconPath, 0);if (FAILED(hres)){break;}pPf->Save(strLnkName, TRUE);if (FAILED(hres)){break;}bRet = true;} while (0);if (pPf != NULL){pPf->Release();}if (psl != NULL){psl->Release();}CoUninitialize();return bRet;
}
使用示例:ChangeLinkIcon(_T("C:\\1.lnk"), _T("C:\\1.ico"));


推荐阅读
  • <selectnameBigClassName><optionvalue>请选择一级分类& ... [详细]
  • 一、数据库并发测试的必要性1、与数据库连接的服务程序采用多线程同时开启多个数据库连接;2、与数据库连接的服务程序单线程,但是同时开启多套服务程序 ... [详细]
  • 个人训练赛第十七场问题 D: vfk 式名字重排
    有一种隐忍其实是蕴藏着的一种力量,有一种静默其实是惊天的告白。题目描述传说中很多大牛喜欢用自己姓名拼音的重排列,比如著名的吕凯风大牛, ... [详细]
  • 二分图的最大匹配。每一个$0$与$1$配对,只建立满足时差大于等于$a$或者小于等于$b$的边,如果二分图最大匹配等于$n2$,那么有解,遍历每一条边输出答案,否则无解。#includ ... [详细]
  • POJ 1151 Atlantis (离散化求矩形面积并)
    题意:在二维平面上给出n个矩形的顶点坐标(浮点数),每个矩形的边都平行坐标轴,求矩形覆盖的面积。数据范围:n<100,0<x,y<100000分析:由于n比较小,所以用 ... [详细]
  • 剪邮票——两次DFS ... [详细]
  • iOS9中的WebKit 与 Safari带来的惊喜
    iOS9中的WebKit与Safari带来的惊喜-每个用过UIWebView的iOS开发者对其诸多的限制和有限的功能也深有感触。悻然,自iOS8推出WebKit框架后将改变这一窘境 ... [详细]
  • 原文:http:blog.csdn.netdamotianshengarticledetails406284171.Knn算法介绍:百度百科:http:baike.b ... [详细]
  • OpenCV入门(八)--形态学图像处理
    膨胀膨胀是指将一些图像(或图像中的一些区域,A)与核(B)进行卷积。核可以是任何的形状或大小,它拥有一个单独定义出来的参考点。膨胀举例:腐蚀腐蚀是 ... [详细]
  • jsp母版页组装
    自组装方法大致如下:把整个页面的内容划分到各个不同的视图组件中,显示页面本身的责任是包含这些视图组件,并以正确的方式构建完整的HTML响应 ... [详细]
  • 设计模式:闲谈单例模式
    大家可能都看过单例模式的几种写法,其中饿汉式最简单,懒汉式中双重check最为复杂。双重che ... [详细]
  • 基于bionic c分析线程的一生
    1.概述和问题进程和线程操作系统基础和重要的机制,从源码角度理解进程和线程的区别对于理解操作系统的基本原理非常有帮助,同时进程和线程的创建又是通过系统 ... [详细]
  • 实现方式1、首先设置一个Qt下的一个窗口基类;2、窗口基类继承自一个重写的QGLWidget类和一个osgViewer::Viewer类3、重新QGLWidget类& ... [详细]
  • iText7LtvVerification.addVerifica ... [详细]
  • 实验六提交版
    1.21.3part2共用体与结构体类型的区别?答:共用体与结构体的区别在于它们的表示方法不同。结构体内,结构体的各成员顺序排列存储,每个成员都有自己独立的存储位置,而共用体的情况 ... [详细]
author-avatar
mobiledu2502919967
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有