VC++常用功能开发汇总

这是一篇关于VC++常用功能开发的汇总文章,涵盖了从Windows核心编程、多线程到网络通信、图片处理等多个方面的实战应用。作者分享了10多年C++开发经验,包括如何使用libcurl发送邮件、利用STL算法提升搜索速度、调用系统API监测进程状态等,并提供了丰富的源码示例。适合C++应用软件开发者阅读和参考。
摘要由CSDN通过智能技术生成

🚀 前言

Alt
本文是《VC++常用功能代码封装》专栏的文章导航贴(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)。

专栏介绍:专栏将10多年C++开发实践中常用的功能,以高质量的代码展现出来,并对相关功能的实现细节进行了详细的说明。这些常用的代码,其质量与稳定性是有保证的,可以直接拿过去使用,可以有效地解决C++软件开发过程中遇到的问题。

专栏适用人群:C++应用软件开发人员。


文章还在持续更新 ing…
 
如果文章对您有用,可以点赞收藏关注,也可以订阅专栏


📢 当前专栏主要分享VC++常用功能代码的,关于C++基础入门与实战进阶的内容,则可以查看对应的专栏:⭐️ C++基础入门与实战进阶点击该链接,跳转到专栏主页,欢迎订阅,持续更新中…)。

专栏介绍:以多年的开发实战为基础,总结并讲解一些的C/C++基础与项目实战进阶内容,以图文并茂的方式对相关知识点进行详细地展开与阐述!专栏涉及了C/C++领域多个方面的内容,包括C++基础及编程要点、C++11新特性(不仅看开源代码会用到,面试也会涉及到)、C++开源库介绍与使用、代码分享(调用系统API、使用开源库)、编程技术(动态库、多线程、多进程、数据库编程及网络编程等)、软件UI编程(Win32/duilib/QT)、C++软件调试技术(排查软件异常的手段与方法、常用软件分析工具使用、实战问题分析案例等)、设计模式、网络基础知识与进阶内容等。

《C++基础入门与实战进阶》专栏是接下来要重点打造的技术专栏,目前专栏文章已经更新到300多篇,还在持续的更新中,也欢迎订阅该专栏


🔰 文章列表

 
⭐️第1章:《Windows核心编程》若干知识点实战应用分享

功能介绍:《Windows核心编程》若干知识点应用实践分享,希望大家能够仔细研读,在提升理论知识水平的同时,也能有效地提高分析解决问题的技能。

⭐️第2章:从C++软件调试实战的角度去看多线程编程中的若干细节问题

功能介绍:本文从C++软件调试实战的角度去讲述多线程编程中的若干细节问题,并给出了具体的问题分析实例。

⭐️第3章:VC++调用libcurl开源库实现发送邮件的功能(附源码)

功能介绍:详细讲述使用libcurl开源库实现邮件发送的相关细节,以及如何开通邮件系统中的SMTP服务。

⭐️第4章:VC++调用STL算法函数有效提升STL列表的搜索速度(附源码)

功能介绍:介绍使用STL库自带的算法函数去有效提升STL列表的搜索速度,并给出了两个具体的实例。

⭐️第5章:VC++如何实时监测另一个进程是否已经退出?(附源码)

功能介绍:调用API函数WaitForSingleObject,实时监测目标进程是否已经退出。

⭐️第6章:VC++通过SetWindowHookEx去实时拦截窗口消息,实现视频会议中桌面共享图像的实时拖动(附源码)

功能介绍:通过SetWindowHookEx去实时拦截窗口消息,实现视频会议中桌面共享图像的实时拖动。

⭐️第7章:VC++实现会议中阻止屏保、阻止系统自动关闭屏幕、阻止系统待机(附源码)

功能介绍:讲述阻止屏保、阻止系统自动关闭屏幕、阻止系统待机的实现方法,并详细介绍API Monitor软件工具的使用。

⭐️第8章:VC++通过查看ReactOS开源代码,解决完整路径dll加载失败问题(附源码)

功能介绍:通过参考ReactOS开源操作系统中的源码,解决完整路径的dll库加载失败的问题。

⭐️第9章:VC++ IM即时通讯软件中的剪切板数据对通的实现细节(附源码)

功能介绍:详细讲述了IM即时通讯软件中的剪切板数据对通的实现细节,重点讲解如何构造HTML_FORMAT和QQ_Unicode_RichEdit_Format两种剪切板数据格式。

⭐️第10章:VC++ Windows7及以上系统中管理员权限与UAC虚拟化详解(附源码)

功能介绍:本文详细讲述一下Vista及以上Windows系统的管理员权限与UAC虚拟化相关的相关话题,给大家提供一个借鉴与参考。

⭐️第11章:VC++两万字总结Windows系统中的Layered分层窗口技术(附源码)

功能介绍:讲述如何使用SetLayeredWindowAttributes和UpdateLayeredWindow实现特殊效果的分层窗口。

⭐️第12章:VC++使用URI Scheme实现从web网页上打开本地C++应用程序(附源码

功能介绍:讲述如何使用URI Scheme技术实现从web页面上启动exe应用程序。

⭐️第13章:VC++使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压(附源码)

功能介绍:讲述如何使用开源的zip.cpp和unzip.cpp文件,实现压缩包的创建与解压。

⭐️第14章:VC++调用gethostbyname实现域名解析(附源码)

功能介绍:详细讲述域名解析的原理与整个流程,并详细讲解调用gethostbyname实现域名解析的方法,以及要注意的一些细节。

⭐️第15章:VC++使用libqr开源库生成二维码(附源码)

功能介绍:详细介绍使用libqr开源库生成二维码的一般步骤,并给出对应的源码实现。

⭐️第16章:VC++给软件添加异常捕获模块生成dump文件(附源码)

功能介绍:介绍如何给程序添加异常处理函数,以及如何生成保存异常信息的dump文件。

⭐️第17章:VC++ socket编程中设置socket选项的ioctlsocket、setsockopt和WSAIoctl函数的使用(附源码)

功能介绍:详细讲解socket编程中设置socket选项的ioctlsocket、setsockopt和WSAIoctl三个函数的使用场景。

⭐️第18章:VC++中ANSI、UNICODE与UTF-8字符编码之间的转换(附源码)

功能介绍:详解ANSI、UNICODE与UTF-8三种字符编码之间如何相互转换。

⭐️第19章:VC++实现打开文件和打开所在文件夹的功能(附源码)

功能介绍:详解打开文件和打开所在文件夹两功能的实现细节,并给出实现代码。

⭐️第20章:VC++图片类型的识别(附源码)

功能介绍:通过读出图片文件最开始的若干个字节中的图片类型信息,来判断图片的类型。

⭐️第21章:VC++图片类型之间的相互转换(附源码)

功能介绍:使用GDI+实现.jpg、.png、.bmp等常见格式图片间的转换。

⭐️第22章:VC++ Win32界面编程中的窗口风格要点总结(附源码)

功能介绍:将多种常用的窗口风格的相关要点进行详细的总结,以方便创建窗口时使用。

⭐️第23章:VC++把程序“消失的”窗口“拽”出来显示(附源码)

功能介绍:使用两种方法将程序中“消失的”窗口“拽”出来显示。

⭐️第24章:VC++解决win10系统中屏幕截图异常放大的问题(附源码)

功能介绍:解决win10系统非100%显示比例下的截图异常放大问题。

⭐️第25章:VC++使用GDI+和CImage类加载png图片(附源码)

功能介绍:讲述使用GDI+和CImage类去加载bmp、jpg、png等多种格式图片的方法。

⭐️第26章:VC++通过修改manifest文件来解决Vista/Win7/Win8下应用程序兼容性问题(附源码)

功能介绍:讲述如何通过manifest文件来解决Vista/Win7/Win8下应用程序兼容性问题。

⭐️第27章:VC++判断进程是否以管理员权限运行(附源码)

功能介绍:讲述如何通过代码判断进程是否以管理员权限运行。

⭐️第28章:VC++年月日时间和64位时间的使用及相互转换(附源码)

功能介绍:讲解年月日时间和64位时间的使用,以及它们之间的相互转换。

⭐️第29章:VC++修改系统服务的启动类型并启动服务(附源码)

功能介绍:讲述如何启动Windows服务、修改服务的启动类型。

⭐️第30章:VC++从工程的rc资源中将资源文件取出来或读出来(附源码)

功能介绍:详解从VC++工程的rc资源中将zip、xml、png等资源文件读取出来的实现。

⭐️第31章:VC++检查程序托盘图标是否掩藏到沙漏区域中(附源码)

功能介绍:讲述检测托盘图标是否掩藏到沙漏区域中的方法。

⭐️第32章:VC++ XP/WIN7系统中删除残留托盘图标的方法(附源码)

功能介绍:讲述如何在XP/WIN7系统中删除残留托盘图标的方法。

⭐️第33章:VC++判断当前程序对文件或文件夹是否有写权限(附源码)

功能介绍:判断当前程序对某文件或文件夹是否有写权限。

⭐️第34章:VC++获取Widnows操作系统版本(附源码)

功能介绍:调用NetWkstaGetInfo判断系统是win7、win8还是win10,调用GetNativeSystemInfo判断系统的位数。

⭐️第35章:VC++ 获取CPU的型号、主频和核数(附源码)

功能介绍:简述如何获取CPU的型号、主频和核数。

⭐️第36章:VC++ 创建桌面、开始菜单快捷方式(附源码)

功能介绍:详解如何创建桌面及开始菜单快捷方式,以及创建过程中需要注意的细节。

⭐️第37章:VC++解决Windows快捷方式图标不刷新问题(附源码)

功能介绍:解决Windows系统中桌面快捷方式图标不刷新问题。

⭐️第38章:VC++托盘图标实现类封装及使用(附源码)

功能介绍:讲述托盘图标实现类的封装,并介绍了该类的使用。

⭐️第39章:VC++判断目标文件是否被独占(附源码)

功能介绍:判断目标文件是否被独占,提供了相关的封装函数,可以直接拿去使用。

⭐️第40章:VC++获取系统TCP、UDP端口使用信息,并判断端口是否被占用(附源码)

功能介绍:如何判断端口是否被占用,封装了专用的函数,可直接使用。

⭐️第41章:VC++获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目(附源码)

功能介绍:通过代码去获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目。

⭐️第42章:VC++计算文件和文件夹的大小(附源码)

功能介绍:讲述如何计算文件和文件夹的大小。

⭐️第43章:VC++获取文件的修改时间,定期清理若干天之前的日志文件(附源码)

功能介绍:介绍了一种获取文件的最后修改时间的方法,并详述软件中日志文件的管控策略。

⭐️第44章:VC++ 功能强大的API函数FindFirstFile使用介绍(附源码)

功能介绍:大概地梳理一下使用FindFirstFile可以实现哪些常用的功能。

⭐️第45章:VC++ 获取窗口的类名和窗口所属进程线程id(附源码)

功能介绍:功能介绍:调用系统API函数去获取窗口的类名,以及窗口所属进程线程id。

⭐️第46章:VC++删除老版本软件的桌面快捷方式(附源码)

功能介绍:详解删除老版本软件的桌面快捷方式的方法。

⭐️第47章:VC++检测防火墙是否开启、判断程序是否加入防火墙白名单(附源码)

功能介绍:讲述使用防火墙相关的COM组件,去检测Windows防火墙是否开启、判断程序是否加入Windows防火墙白名单。

⭐️第48章:VC++屏幕捕获并保存成图片(附源码)

功能介绍:讲述捕获屏幕图像的方法,并保存到图片文件中!

⭐️第49章:VC++使用fprintf函数实现写日志文件的功能(附源码)

功能介绍:使用C函数fprintf,实现将打印日志写到文件中的功能。

⭐️第50章:VC++将位图中保存的图像灰化(附源码)

功能介绍:讲述如何将位图中保存的图像进行灰化处理。

⭐️第51章:VC++如何将rc资源中的图片加载到MFC的CImage对象中(附源码)

功能介绍:详解将rc资源中的图片加载到MFC的CImage对象中的整个过程,并给出相关代码。

⭐️第52章:VC++调用HtmlHelp打开chm帮助文档(附源码)

功能介绍:讲述在打开.chm帮助文档时应该给API函数HtmlHelp传递什么样的参数,以及需要考虑的一种异常问题。

⭐️第53章:VC++使用SDL定时器替代Windows窗口定时器消息(附源码)

功能介绍:Windows窗口定时器消息可能会因为UI线程比较忙碌出现被丢弃的问题,可以使用与窗口无关的SDL定时器完成有效定时操作。

⭐️第54章:VC++对字符串进行加密的MD5String和获取文件MD5值的MD5File函数的封装(附源码)

功能介绍:详解对字符串进行加密的MD5String接口,以及获取文件MD5值的MD5File接口。

⭐️第55章:VC++实时检测耳机的插入与拔出(附源码)

功能介绍:通过IMMNotificationClient COM接口类的回调去感知音频设备变化,然后去遍历音频设备,获取每个音频设备的KSJACK_DESCRIPTION信息,进而判断出耳机的插入与拔出。

⭐️第56章:VC++调用PostThreadMessage给线程发消息,实现线程间的通信(附源码)

功能介绍:调用PostThreadMessage给线程发消息,实现线程间的通信,并详细讲解了使用PostThreadMessage时要注意的细节问题。

⭐️第57章:VC++获取Windows操作系统的语言版本(附源码)

功能介绍:详细讲述GetSystemDefaultLangID、GetUserDefaultLangID、GetSystemDefaultUILanguage和GetUserDefaultUILanguage四个获取语言函数的区别,以及如何通过GetUserDefaultUILanguage获取操作系统的语言版本。

⭐️第58章:VC++使用GDI+实现HBITMAP与图片文件之间的相互转换(附源码)

功能介绍:使用GDI+实现HBITMAP与图片文件之间的相互转换。

⭐️第59章:VC++如何通过代码自动弹出Windows系统的一些窗口(附源码)

功能介绍:有时软件中检测到一些问题时,需要打开相关的Windows系统的一些窗口,以供用户查看或者去做设置。本文简单地讲述一下如何弹出一些与软件相关的Windows系统窗口。

⭐️第60章:VC++详解Base64编解码原理以及Base64编解码接口实现(附源码)

功能介绍:文章系统讲述了Base64编码相关的内容,以及Base64编解码的代码实现。

⭐️第61章:VC++调用IcmpSendEcho函数实现对远端地址的ping检测(附源码)

功能介绍:调用IcmpSendEcho函数实现对远端地址的ping检测。

⭐️第62章:VC++如何实时感知Windows系统进入和退出待机状态(附源码)

功能介绍:通过WM_POWERBROADCAST通知消息,实时感知Windows系统进入和退出待机状态。

⭐️第63章:VC++获取CPU的名称、主频和核数(附源码)

功能介绍:讲述如何去获取CPU的名称、主频及核数(物理核数和逻辑核数)信息。

⭐️第64章:VC++分别使用WinExec、CreateProcess、ShellExecute和ShellExecuteEx来启动程序(附源码)

功能介绍:本文详细讲述使用调用WinExec、CreateProcess、ShellExecute和ShellExecuteEx多个API函数来实现程序启动的相关细节。

⭐️第65章:VC++获取电脑的各个磁盘盘符及容量信息(附源码)

功能介绍:本文详细讲述如何调用系统API接口来获取当前电脑上的所有磁盘及容量信息。

⭐️第66章:VC++一文带你搞懂如何操作文件对话框(附源码)

功能介绍:本文详细讲述一下C++在操作打开文件对话框、保存文件对话框、浏览文件夹对话框时的相关细节。

⭐️第67章:VC++时间函数的使用(附源码)

功能介绍:本文介绍如何使用时间函数获取相关的时间数据,比如time函数、GetLocalTime函数、GetTickCount函数等。

⭐️第68章:VC++异常捕获__try…_ecxpt和try…catch的使用介绍(附源码)

功能介绍:本文介绍如何使用异常捕获块__try…_ecxpt和try…catch。

⭐️第69章:VC++使用zlib压缩及解压数据,使用base64编码及解码数据(附源码)

功能介绍:本文介绍如何使用zlib压缩及解压数据,如何使用base64编码及解码数据。

⭐️第70章:VC++如何使用C++ STL标准模板库中的算法函数(附源码)

功能介绍:本文讲述如何使用C++ STL标准模板库中的算法函数。

⭐️第71章:VC++几种加载图片方法的讨论(附源码)

功能介绍:本文将分别讲述使用LoadBitmap、CImage和GDI+ Image类来加载图片的方法,以及使用过程中的一些注意事项。

⭐️第72章:VC++打开或关闭目标进程的声音(扬声器)(附源码)

功能介绍:本文讲述如何将某个进程的声音(扬声器)打开或关闭掉,这个功能在某些场合下可能会用到。

⭐️第73章:VC++ 解决dll库动态库加载失败问题(调用LoadLibrary加载失败)(附源码)

功能介绍:本文参考ReactOS开源系统源码中regsvr32的实现,解决dll库动态库加载失败的问题。

⭐️第74章:WaitForSingleObject 函数的诸多用途与使用场景总结(附源码)

功能介绍:本文详细总结了WaitForSingleObject 函数的诸多用途与使用场景。


📝 最后

《VC++常用功能代码封装》专栏的文章都在这里啦(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)。

文章会持续更新,大家有想要了解的功能点或者话题,可以在评论区告诉我!

喜欢本专栏的文章,可以点赞、订阅支持一下,你的肯定是对我最大的支持!

也可以收藏本文章,收藏后可以快速查看本专栏后续更新的一系列文章!

  • 412
    点赞
  • 435
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 283
    评论
评论 283
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值