VC++常用功能封装代码
文章平均质量分 58
以项目实战为线索,c++项目开发中经常需要用到的,有时自己写可能需要一些时间,可能选择百度,我这是根据自己10多年的开发工作,以及经常用到的功能,采用代码形式在详解,加例子的方式,以保证你在项目中能正常使用!
keivin2006
一名c/c++/vc/qt 的小学生,“精通”c,“精通”c++,“精通”vc++,“精通”php,“精通”qt,“精通”java,
“精通”python,“精通”c#,“精通”...! 编不下去了,只要见过名字的都我“精通”....为哈,因为我现在是csdn“砖家”了!
本人qq: 88520350
qq学习群:930432714 (C/C++/QT/VC学习交流群) 海量学习资料都分享在群里
指点学习方向,掌握学习要点,快速提高技术水平, 技术分享,共同学习!
展开
-
第69章:VC++打印函数堆栈
函数调用栈函数 CaptureStackBackTrace原创 2023-08-14 19:57:15 · 577 阅读 · 0 评论 -
VC++遍历FTP文件目录
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)主要用到了CFtpFileFind类,关键代码如下:void CBrownFTPDirDlg::ListDir(CString dir, HTREEITEM hParent){ CString filename ; CString server,port,user,pass; m_Server.GetWindowText(server); m_Port.GetWindowText(port); m_User...原创 2021-09-18 09:45:51 · 990 阅读 · 11 评论 -
VC++通过注册表生成注册程序(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)vc6的工程,高版本编译时需要修改下这些东西:改成你当前的版本:这个地方也要修改下:相关源码:BOOL CRegSoftDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the sys...原创 2021-07-23 10:14:54 · 948 阅读 · 15 评论 -
VC++屏幕捕获功能(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...) VC屏幕捕获,也就是抓屏、截图程序,当点击抓屏后,会自动打开画图程序,并将已抓到的图片显示在画图程序内,你可以借助画图程序将其保存,另外,程序也设计了拖动鼠标进行区域截图的功能,不过不是很好用,可能还需要改进,程序运行图如上示。vc6的工程,高版本编译时需要修改下这些东西:改成你当前的版本:这个地方也要修改下:代码有几处需要修改下: 1. afx_msg L...原创 2021-07-22 14:35:35 · 1387 阅读 · 15 评论 -
VC++根据cpu和磁盘序列号生成注册码(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)常见的注册码:本程序生成的:上代码:BOOL CCPUAndDiskRegDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX ...原创 2021-07-21 22:50:37 · 2820 阅读 · 1 评论 -
VC++文本文件加解密功能(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)文本文件加密,只要自己控制秘钥,一般就算很简单的方式 加密,想要破解也是挺难的,这里采用最普通的方式,对文件文本进行一些扩展的操作,把文本文件生成乱码的方式,当然有加密就要有恢复!加密后:看起来全是乱码,看不到你想要的信息, 一般我们会对配置文件,或者相关的日志文件进行一些初步的加密,不想让自己应用程序外露更多的信息,防止别人抄袭,或者 修改!解决后:又恢复成原来一样:上代码:void ...原创 2021-07-21 22:24:38 · 1077 阅读 · 20 评论 -
vc++字符串加解密(附源码)
最简洁的字符串加解密,当然肯定也没有太多的技术含量,只是提供一种思路与方法,也相当是对字符串进行了一些处理操作,解密时进行了一些恢复操作!CString CDataencryptDlg::Encrypt(CString S, WORD K){ CString Str,Str1,Result; int i,j; Str = S; for(i=0;i<S.GetLength();i++) { Str.SetAt(i,S.GetAt(i)+K); } S = ...原创 2021-07-21 16:45:18 · 928 阅读 · 14 评论 -
VC++获取电脑所有盘符和容量大小(附源码)
获取系统一共分了几个盘,每个盘的总容量,和剩余空间,VC2017 控制台程序源码如下:#include <iostream>#include <windows.h>using namespace std;int main(){ int DiskCount = 0; DWORD DiskInfo = GetLogicalDrives(); //利用GetLogicalDrives()函数可以获取系统中逻辑驱动器的数量,函数返回的是一个32位无符..原创 2021-07-20 16:57:35 · 928 阅读 · 10 评论 -
c++序列号生成(注册码)附demo
软件注册码生成 注册机程序,这是一个成型软件必走的路 ,共享软件或者国外的软件都是采用这种模式,需要构买注册码,或者在线注册发送授权码的模式!有条件的都是采用服务器授权管理,这样可以防止一般的破解,这就是为什么一些软件必须要求你联网才能注册成功. 以前写了一篇第25章:VC++软件授权加密与管控(附demo)功能介绍:代码实现功能绑定了电脑,换电脑不能使用,到期不能使用,到次数不能使用!https://blog.csdn.net/kaizi318/article/details/1.原创 2021-07-15 17:32:54 · 4959 阅读 · 11 评论 -
VC检测U盘的插入与拔出
WM_DEVICECHANGE的使用方式有二種,一種是透過WindowProc()的方式,一種是直接在程式裡加上OnDeviceChange()的函數,底下就先介紹第二種方式。wstring getDriveType( LPCTSTR lpRootPathName ){ wstring typename; unsigned int type = GetDriveType( _T( "C:\\" ) ); //得到C盘类型 switch ( type ) { ca.原创 2021-07-08 15:31:59 · 930 阅读 · 9 评论 -
VC++实现Ping功能(附源码)
我们有时在开发中需要这么一个功能,在连接服务端之前,想知道网络到底是不是好的,尤其是wifi这种网络环境, wifi是好的,但就是连接不上网络,这时我们需要一个ping的功能,检测网络是不是好的!ping的过程是向目的IP发送一个type=8的ICMP响应请求报文,目标主机收到这个报文之后,会向源IP(发送方,我)回复一个type=0的ICMP响应应答报文。Ping程序实现步骤创建类型为SOCK_RAW的一个套接字,同时设定协议IPPROTO_ICMP。 创建并初始化ICMP头..原创 2021-07-08 10:52:52 · 1487 阅读 · 9 评论 -
C++控制NRP8S功率计读取功率(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)R&SNRP8S 三通道二极管功率探头简述以来,R&SNRP2 功率计和相关功率探头一直被认为具有极高精度和速度。 R&SNRPxxS 和 R&SNRPxxSN 功率探头将功率测量提高到更高水平。 R&SNRPxxS/SN 功率探头配备有 USB 接口,此外,R&SNRPxxSN 可通过 LAN 来控制。这使得 R&SNRP 功率计成为该领域内的产品。 功能和性能特性通过 LAN ...原创 2021-05-24 21:45:00 · 1836 阅读 · 31 评论 -
VC++控制程控电源2306读取电流
VC++开发常用功能一系列文章(欢迎订阅,持续更新...) 吉时利2306 KEITHLEY2306通讯测试程控电源程序控制支持双通道控制:直接上代码:自动化技术得到飞跃发展的今天,测试中各种仪表也都支持IEEE 488协议,可以利用PC完成控制。在GPIB总线编程中,将总结过去用到的基于GPIB总线控制仪表的开发经验。首先总结一下Agent 663系列电源的控制。 开发工具 VC++6.0,必备文件:visa库。说到visa库,谈谈我对它的认...原创 2021-05-24 21:33:39 · 2433 阅读 · 21 评论 -
VC++ RLE压缩算法(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)RLE压缩算法(下简称RLE算法)的基本思路是把数据按照线性序列分成两种情况:一种是连续的重复数据块,另一种是连续的不重复数据块。RLE算法的原理就是用一个表示块数的属性加上一个数据块代表原来连续的若干块数据,从而达到节省存储空间的目的。一般RLE算法都选择数据块的长度为1字节,表示块数的属性也用1字节表示,对于颜色数小于256色的图像文件或文本文件,块长度选择1字节是比较合适的RLE(Run LengthEncoding行程编...原创 2021-03-26 16:15:57 · 3293 阅读 · 16 评论 -
VC++应用程序添加防火墙白名单(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)正常我们写的程序:有开放端口,或者hook函数,都会有防火墙弹窗,当然你也可以 让微软给你的软件添加白名单,也就是签名,不过是要钱的喔:所以我们需要能够从代码上去添加这一功能:正常手动操作如下:首先进入“控制面板”→“duWindows防火墙”zhi。选择“允许程序或功能dao通zhuan过Windows防火墙”。可以选shu择对某一个程序设置是否允许通过防火墙,若列表中没有某程序,选择“允许运行另一程序”。可以...原创 2021-02-20 17:50:15 · 3845 阅读 · 32 评论 -
VC++字符串转16进制字符串(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)给定一个字符串,有时我们需要把它转成16进制字符串进行操作比如: wifi的profile 中的SSID ,在操作时需要转成16进制如下面: strssid.TrimLeft(); strssid.TrimRight(); CString tempstr = ConvertCStringoHex_ASCII(strssid); strhexssid.Format("<hex>%s</h...原创 2021-02-20 17:25:30 · 4143 阅读 · 19 评论 -
VC++生成崩溃dump文件(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。现在的vs版本都支持直接打开dump文件调试dump文件最好有pdb文件,不然也不好调试直接上源码看:头文件:#ifndef __MSJEXHND_H__#define __MSJEXHND_H__#ifdef _W...原创 2021-02-05 09:23:01 · 1635 阅读 · 30 评论 -
VC++实现文件加解密功能(附使用demo)
采用 Blowfish对文本文档进行加解密功能Blowfish是一个对称加密块算法,是1993年有Bruce Schneider设计的,现已应用在多种加密产品。Blowfish能保证很好的加密速度,并且目前为止没有发现有效地破解方法。目前为止AES比Blowfish有更广的知名度。Schneider 设计的Blowfish算法用途广泛,意在摒弃DES的老化以及其他算法的强制捆绑。Blowfish刚刚研发出的时候,大部分其他加密算法是专利所有的活商业(政府)机密,所以发展起来非常受限制。Schneider原创 2021-02-04 15:49:34 · 2748 阅读 · 30 评论 -
VC++农历与公历转换
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)// 阳历转农历//// 阳历转农历//BOOL CCalendarConvert::GregToLunar(int _gregYear,int _gregMonth,int _gregDay,int& lunarYear,int& lunarMonth,int& lunarDay,BOOL& _bLeap){ SYSTEMTIME src = {0}; SYSTEMTIME dst = ...原创 2021-02-03 09:54:32 · 1955 阅读 · 34 评论 -
vc++datamatrix二维码识别
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)zbar zxing都不能识别datamatrix二维码 ,这咱二维码需要专门的库来识别#include <iostream>#include "funset.hpp"int main(int argc, char* argv[]){ // Note: windows10 vs2013 will crash, windows7 vs2013 is normal //int re...原创 2021-01-25 15:16:14 · 2412 阅读 · 42 评论 -
VC++域名转IP(网络直接连接域名)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)BOOL Domain2IPString( const CHAR* szDomain,CHAR* szIP ){ if( NULL == szDomain|| NULL == szIP ) return FALSE; DWORD dwIP = inet_addr( szDomain); if( dwIP != INADDR_NONE ){ strcpy( szIP,szDoma...原创 2021-01-23 17:06:24 · 1108 阅读 · 36 评论 -
VC++实现的软键盘功能(附源码)
软键盘界面如下:置于桌面窗口最顶层:上点源码:/** * Globals.h Copyright _ 2001 Li Zhaoming. All rights reserved. * Contains declarations for all globally scoped names in the program */#define MAX_LOADSTRING 100/** * Functions for handling main window message..原创 2021-01-19 14:19:37 · 3478 阅读 · 33 评论 -
vc声音录制播放程序(附demo)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)源t程序附demo已百度网盘:永久生效 ,文章尾部附 百度链接链接:https://pan.baidu.com/s/1sogT-n4iSoBr1LQ3W2KSmA提取码:tljs复制这段内容后打开百度网盘手机App,操作更方便哦,可以下载试用哟........功能介绍:1.播放功能:立体声播放、左右声音播放2.录制功能支持多种模式,支持设置采样3.调试日志功能4.耳机功能 动态检测耳机有没...原创 2020-12-31 22:12:04 · 5235 阅读 · 305 评论 -
VC++写日志文件增强版(多线程支持)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)源代码demo已上传到百度网盘:永久生效 .尾部附链接以前写了一篇 VC++写日志文件封装类源代码 采用的静态类的方法,是不支持多线程的,只是一个普通功能的调试版,当然在多线程也能用,只要你的日志不是打印的特殊频繁!今天更新一版本支持多线程的日志版本://代码采用的是vs2017#include"Cloghelp.h"CLogHelp m_log; //call m_log.SetLogFl...原创 2020-12-31 17:08:48 · 2414 阅读 · 87 评论 -
VC操作注册表(附demo)
代码实现了:创建,读取,更改,删除头文件:////Registry.h#if !defined(AFX_REGISTRY_H__E0610A5D_7166_4D02_9D7E_11AF7CF8E229__INCLUDED_)#define AFX_REGISTRY_H__E0610A5D_7166_4D02_9D7E_11AF7CF8E229__INCLUDED_//#include <winreg.h>/////////////////////////////////原创 2020-12-17 14:59:16 · 671 阅读 · 34 评论 -
VC++http实现下载文件(附源码)
采用windows相关系统api ,已封装成类,方便调用1. InternetConnect2.HttpOpenRequest3.HttpSendRequestEx直接上源码:头文件:// Download.h: interface for the CDownload class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_DOWNLOAD_原创 2020-12-16 17:01:41 · 3194 阅读 · 54 评论 -
VC++获取网络占用率(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)//获取网络占用率#include <WtsApi32.h>#include <conio.h>#include <windows.h>#include <tchar.h>#include <stdio.h>#include <Iphlpapi.h>#include "Public.h"#pragma comment(lib, "Iphlpap...原创 2020-12-14 11:56:21 · 2453 阅读 · 39 评论 -
vc++获取指定IP的网卡编号(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)代码主要是针对多网卡:比如一台笔记本,有wifi网卡,还有普通的RJ45 ,我们怎么具体的绑定到指定的网卡呢,等操作!1.获取指定IP的网卡编号//获取指定IP的网卡编号DWORD SYSINFO::GetIfIndexOfIp(ULONG ulIp){ PMIB_IPADDRTABLE pIpAddrTable = (PMIB_IPADDRTABLE)malloc(sizeof(MIB_IPADDRTABLE)...原创 2020-12-14 11:44:57 · 1067 阅读 · 35 评论 -
c++AES加密解密(附源码)
AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特;而Rijndael使用的密钥和区块长度可以.原创 2020-12-13 14:10:01 · 4296 阅读 · 42 评论 -
vc++自动断开wifi功能
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)自动断开wifi,并删除相关wifi profileprofile 就是那个记住密码的功能,我们需要清除这个功能......以前的文章写个怎么自动连接wifi功能,这一篇主要是怎么断开它.....1. 连接1)显示本机保存的profiles,配置文件是以wifi的ssid命名的.netshwlanshowprofiles2)用netshwlanconnectname=xxxxx 连接其中一个pr...原创 2020-12-07 15:29:41 · 885 阅读 · 26 评论 -
opencv根据摄像头名称打开摄像头(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)OpenCV的VideoCapture是一个视频读取与解码的API接口,支持各种视频格式、网络视频流、摄像头读取。针对一般摄像头的读取,opencv为了实现跨平台读取摄像头时是使用的摄像头索引,1 VideoCapture capture(int index);一般而言电脑自带的摄像头id=0,但是也存在一些特殊情况,有些usb的摄像头接入笔记本后,usb摄像头的id会变位0,原有的笔记本id则变为1,所以为了程序的稳定性,...原创 2020-12-07 10:11:45 · 5479 阅读 · 54 评论 -
3des加解密(+MD5) c++实现(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)源代码demo已上传到百度网盘:永久生效 ,文章尾部附 百度链接3DES,也称为3DESede或TripleDES,是三重数据加密,且可以逆推的一种算法方案。1975年美国IBM公司成功研究并发布了DES加密算法,但DES密码长度容易被暴力破解,通过对DES算法进行改进,针对每个数据块进行三次DES加密,也就是3DES加密算法。但由于3DES的算法是公开的,所以算法本身没什么秘密可言,主要依靠唯一密钥来确保...原创 2020-12-06 21:06:03 · 3376 阅读 · 33 评论 -
VC++实现系统托盘功能(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)Windows桌面的系统托盘位于任务栏的右侧,即Windows桌面的右下方,它常用来显示一些系统的状态。如系统时间,音量控制以及其他的一些图标。常常能见到一些优秀的软件在运行后会将其应用程序图标加入到系统托盘中,如金山词霸。如果能将自己编写的应用程序的图样也加入到系统托盘中,将会使程序显得很有专业水准。如下图:这些应用都是应用程序的托盘功能:其实这个功能要实现比较简单,把图准备好,主要用到Shell_N...原创 2020-12-06 20:24:20 · 3019 阅读 · 55 评论 -
VC++实现内存映射文件(附源码)
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)内存映射文件:是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文...原创 2020-12-06 16:38:38 · 1002 阅读 · 24 评论 -
C++ huffman数据压缩算法实现(附源码)
什么是Huffman压缩 Huffman( 哈夫曼 ) 算法在上世纪五十年代初提出来了,它是一种无损压缩方法,在压缩过程中不会丢失信息熵。并且能够证明 Huffman 算法在无损压缩算法中是最优的。 Huffman 原理简单,实现起来也不困难,在如今的主流压缩软件得到了广泛的应用。 相应用程序、重要资料等绝对不同意信息丢失的压缩场合, Huffman 算法是非常好的选择。 怎么实现Huffman压缩 哈夫曼压缩是个无损的压缩算法,一般用来压缩文本和程序文件。哈夫曼压缩属于..原创 2020-12-06 16:02:46 · 3864 阅读 · 70 评论 -
VC++字符串IP地址转DWORD地址
大胸弟:来都来了,不点点关注,不点点赞 ,您是不是有点太不讲武德了!实现功能:把字符串IP地址转DWORD地址 ,如转换成CIPAddressCtrl 添加的DWORD变量 DWORD m_dwIpaddress; string strIPAddress = "192.168.10.10"; m_dwIpaddress = IP_str2int(strIPAddress.c_str()); m_dwIpaddress = ntohl(m_dwIpaddr...原创 2020-11-25 10:37:34 · 3053 阅读 · 45 评论 -
vc查找进程并杀死指定进程
VC++开发常用功能一系列文章(欢迎订阅,持续更新...)第33章:vc查找进程并杀死指定进程源代码demo已上传到百度网盘:永久生效 ,代码实现了获取枚举系统所有进程,然后杀死你想要kill的进程主要用到了以下函数CreateToolhelp32Snapshot函数功能:函数通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照.说到底,可以获取系统中正在运行的进程信息,线程信息,等函数原型:HANDLE WI...原创 2020-11-23 09:50:52 · 1578 阅读 · 29 评论 -
VC++wifi连接(附源码)
VC++开发常用功能一系列文章 (欢迎订阅,持续更新…)第2章:VC++wifi连接增强版源代码demo已上传到百度网盘:永久生效代码通过 WLAN的接口,采用profile的方式,支持有密码与无密码的连接 ,关键是在于怎么设置好这个profile 参数BOOL CwifiDlg::ConnectWanByWpa(CString strssid, CString strpassword){ // TODO: Add your control notification handler cod原创 2020-10-24 11:22:02 · 14123 阅读 · 109 评论 -
VC++获取CPU使用率,内存使用率
VC++开发常用功能一系列文章 (欢迎订阅,持续更新…)源代码demo已上传到百度网盘:永久生效/*********************获取CPU使用率***************************/__int64 LCMSysHelp::CompareFileTime(FILETIME time1, FILETIME time2){ __int64 a = time1.dwHighDateTime << 32 | time1.dwLowDateTime; __int6原创 2020-10-24 09:06:37 · 2284 阅读 · 80 评论 -
VC++开发实用功能源码+demo
文章还会持续更新… (每篇文章尾都附有源码与demo的百度分享链接,没有任何套路<本人也没有公众号>,百分百可下载).(凡是留言与评论5篇以上的,留下你的邮件方式,源码与demo直接发你,开心就好)第1章:VC++ ini配置文件封装类源代码功能介绍:代码实现了读写整型、浮点型、字符串、16进制数据的功能第2章:VC++实现二维码(显示+保存图片)功能源代码功能介绍:采用LibQREncode ,可以生成二维码,保存二维码图片(bmp/jpg/png) ,以及在窗口上显示二维码,二原创 2020-10-14 11:44:39 · 857 阅读 · 1 评论