自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

修罗的博客

Windows编程

  • 博客(71)
  • 收藏
  • 关注

原创 decltype

引入decltype是因为auto并不适用于所有的自动类型推导场景,在某些特殊情况下auto用起来很不方便,甚至压根无法使用。decltype是C++11新增的一个关键字,和auto的功能一样,用来在。findMin函数,根据a,b中较小的值推导返回类型。

2023-06-27 17:46:52 140

原创 c++ udp单播,并指定本地发送端口号

初始化SOCKET: //初始化广播Socket WSADATA wsdata; WSAStartup(MAKEWORD(2, 2), &(wsdata)); m_socketHmv = socket(AF_INET, SOCK_DGRAM, 0); if (m_socketHmv != INVALID_SOCKET) { BOOL opt = TRUE; ...

2019-08-15 10:14:48 5152 1

原创 mfc选择文件夹,指定根目录

CString CTestWnd::SelectFolderPath(){ TCHAR szFolderPath[MAX_PATH] = { 0 }; CString strFolderPath = TEXT(""); BROWSEINFO sInfo; ::ZeroMemory(&sInfo, sizeof(BROWSEINF...

2019-08-15 10:07:45 1809

原创 根据SOCKET获取IP和端口号

struct sockaddr addr;struct sockaddr_in* addr_v4;int addr_len = sizeof(addr);//获取local ip and portZeroMemory(&addr, sizeof(addr));if (0 == getsockname(m_socketHmv, &addr, &addr_len...

2019-08-08 09:59:30 5825

原创 udp组播

发送: char group_ip[20]; int group_port = 9535; strcpy(group_ip,"224.1.1.2"); int socket_fd; struct sockaddr_in group_addr; //group address struct sockaddr_in local_addr;/...

2019-08-06 11:23:04 210

原创 udp同一个SOCKET自发自收

.h中的成员变量:int m_nUdpPortHmv;SOCKET m_socketHmv;sockaddr_in m_addrtoHmv;SOCKADDR_IN m_addrfromHmv;.cpp中初始化//初始化广播Socketm_socketHmv = socket(AF_INET, SOCK_DGRAM, 0);if (m_socketHmv !...

2019-08-05 18:53:48 1999

原创 udp地址和端口重复绑定

int const BUFF_LEN = 1024;char receiveBuff[BUFF_LEN] = { 0 };int nDataLen = 0;SOCKADDR_IN addrReceive;addrReceive.sin_family = AF_INET;addrReceive.sin_addr.S_un.S_addr = htonl(INADDR_ANY);a...

2019-08-05 18:46:40 2948

原创 CBitmap输出图片到本地

CImage img;img.Attach(m_Bitmap.operator HBITMAP());img.Save(_T("E:\\1.jpg"));

2019-08-05 10:42:31 747

原创 c++错误码转成汉字描述

我这里转成CString了,其实LPVOID就是得到的描述数据,具体转成什么格式的,看具体需求即可LPVOID lpMsgBuf;FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError...

2019-06-27 09:02:47 455 1

转载 char*转LPCWSTR解决方案

原文连接:https://blog.csdn.net/zhouxuguang236/article/details/8761497在Windows编程中,经常会碰到字符串之间的转换,char*转LPCWSTR也是其中一个比较常见的转换。下面就列出几种比较常用的转换方法。1、通过MultiByteToWideChar函数转换MultiByteToWideChar函数是将多字...

2019-06-14 18:53:23 3187

原创 mfc获取当前工作路径

TCHAR szFilePath[MAX_PATH];::GetModuleFileName(NULL, szFilePath, MAX_PATH);(_tcsrchr(szFilePath, _T('\\')))[1] = 0;//删除文件名,只获得路径 字串CString str_url = szFilePath; //str_url 中保存的是当前目录...

2019-06-10 17:31:04 1142

转载 _tcschr、_tcsrchr

原文:https://blog.csdn.net/eickandy/article/details/50083169_tcschr、_tcsrchr好处:是可以不管是用unicode 编码还是其他 ,代码都不用改.C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:1、_tcschr代替strchr或者wcschr函数功能:查找一个字符串中首次出现的...

2019-06-10 17:28:18 373

原创 C++建立 Windows 服务程序

新建控制台程序,不需要界面在stdafx.h中添加MFC支持:#include <afx.h>#include <afxwin.h> // MFC core and standard components#include <afxext.h> // MFC extensions#include <afx...

2019-06-10 17:20:29 832

转载 Windows 下使用PDH 获取CPU 使用率

windows下获取cpu 使用率的方法大概有以下这三种:windows 自带的API ,一般包含在头文件windows.h中Performance Data Helper...

2019-06-10 09:19:48 858

原创 c++执行批处理文件

#include <iostream>#include <windows.h>using namespace std;int main(){ PROCESS_INFORMATION pi; STARTUPINFO si; ZeroMemory(&si, sizeof(si)); si.cb = sizeof...

2019-06-04 09:19:43 1496

原创 c++本机多网卡时,根据IP获取MAC地址

//获取本机mac地址CString G_GetMacAddress(CString strLocalIp){ PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; pAdapterInfo = new IP_ADAPTER_INFO; ULONG u...

2019-05-31 15:51:58 1205

原创 c++ sort排序

在编写项目时,经常要用到排序算法,可以自己写算法,比如冒泡排序,快速排序等,但是可能比较容易出错,其实c++已经自带排序算法函数:sort下面简单说一下sort函数的用法:要sort函数,必须包含头文件:#include <algorithm>举个简单的例子:#include <algorithm>bool Com_n(int& x, in...

2019-05-31 15:27:19 2285

原创 vs2013多项目启动

在用vs调试项目时,需要启动多个项目,是不是都是在项目上右键-》调试-》启动新实例 这么做的呢?是不是很麻烦?其实vs可以设置多个项目一起启动,只要代码编译好,按一下F5即可多个项目一起启动了。怎么样?是不是方便多了。。。。。。...

2019-05-15 14:03:46 692

原创 c++获取电脑mac地址

//获取本机mac地址CString G_GetMacAddress(){ PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; pAdapterInfo = new IP_ADAPTER_INFO; ULONG ulOutBufLen = sizeo...

2019-04-29 10:57:12 3603 1

原创 C++枚举局域网电脑IP

void EnumHosts(CStringArray& list){ //先清空列表 list.RemoveAll(); CString strTemp; struct hostent *host; struct in_addr *ptr; // 获得IP地址 DWORD dwScope = RESOURCE_CONTEXT; NETRESOUR...

2019-04-22 10:55:15 763

原创 TrueStudio printf打印浮点数

TrueStudio默认是不能打印浮点数的,需要修改配置,才能打印浮点数:工程->属性:将other options后填写-u printf float

2019-04-17 23:15:12 1651

原创 TrueStudio解决局部变量无法查看值的问题

如果在调试时,打断点之后,发现变量窗口无法查看局部变量的值,如下图所示:可能是因为优化等级太高了,导致计算结果被优化了(自己理解的,如果不对,勿喷,哈哈),将优化等级降低即可。工程->属性将优化等级改为None即可。再进行调试,结果如下:...

2019-04-17 23:10:40 983 1

原创 c++关机/重启

bool API_ReStartComputer(int nWaitTime /*= 30*/){ USES_CONVERSION; CString strExec; strExec.Format(_T("\"Shutdown\" -r -t %d"), nWaitTime); return ::WinExec(W2A(strExec), 0) > 31;}bool API...

2019-04-17 11:07:43 876

原创 c++魔术包唤醒电脑

bool API_StartComputer(CString strMac){ SOCKET sockClient = socket(AF_INET, SOCK_DGRAM, 0); SOCKADDR_IN addrSrv; addrSrv.sin_family = AF_INET; BOOL bBroadCast = TRUE; USES_CONVERSION; const ...

2019-04-17 11:06:02 2132

原创 mfc从资源加载图片

BOOL ImageFromIDResource(UINT nID, LPCTSTR sTR, Image *&pImg){ HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsrc = ::FindResource(hInst, MAKEINTRESOURCE(nID), sTR); // type if (!hRsrc) r...

2019-04-17 10:07:57 1533

原创 获取文件信息的两种方式

第一种:利用CFile与CFileStatus类CFileStatus status;CFile::GetStatus(strFilePath, status);CFileStatus 就是得到的数据结构,数据结构如下:struct CFileStatus{ CTime m_ctime; // creation date/time of file CTime m_...

2019-04-16 10:35:57 453

原创 MFC修改CFileDialog的最大文件选择数量

DWORD nFileNumbers = 500; //CFileDialog最大选择文件数量CString strPath = _T("F:\\迅雷下载\\将夜");CFileDialog dlg(TRUE, _T("*.*"), strPath, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, g_strFil...

2019-04-16 09:02:32 597

原创 MFC访问共享文件夹

#include "WinNetWK.h"#pragma comment(lib, "Mpr.lib")#pragma comment(lib, "shlwapi.lib")void CPlayerResourceCtnWnd::OnBnClickedBtnUploadFile(){ ////////////////////////////////////////////////////...

2019-04-16 08:59:45 2467 2

转载 VS 项目中查找中文正则表达式

经常有这样的需求:项目代码中有一些输出信息是中文写的,不过现在要做国际化,代码"“中写的中文都要改成英文。这样就需要将代码中包含中文的字符串都找出来。也就是如同 “写到引号中的中文,Yes,is here”。用什么办法能迅速找出这些包含中文的句子呢?今天终于写了这样一个正则表达式,很好用。(”.[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.")直接在VS中用Ctrl...

2019-04-11 10:20:55 2244 1

原创 mfc采用内存映射复制文件

基本数据类:(复制文件过程中用到的基本数据类).h文件:#pragma once//上传/下载信息struct SUpload_DownloadInfo{ SUpload_DownloadInfo(CString strFilePath = _T(""), CString strCenterPath = _T(""), GUID guidDev = GUID_NULL); CStr...

2019-03-28 16:39:40 1194 1

转载 VC下加载JPG/GIF/PNG图片的两种方法

转载自:http://blog.sina.com.cn/s/blog_6582aa410100huil.html仅管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。1.用API OleLoadPicture来加载JPG、GIF格式的图片(注:不支持PN...

2019-03-22 18:01:50 480

原创 mfc绘制框选边框

CPen penBlack(PS_SOLID, 1, CLR_BK), penWhite(PS_DOT, 1, RGB(255, 255, 255)), *pOldPen;CBrush brush, *pOldBrh;brush.CreateStockObject(NULL_BRUSH);pOldBrh = (CBrush*)pDC->SelectObject(&brush...

2019-03-22 16:22:42 2136

原创 文件夹遍历

void ReadFolder(const CString strFolderPath){ CString strPath = strFolderPath + _T("\\*.*"); CString strFullName; CFileFind finder; BOOL bWorking = finder.FindFile(strPath ); while (bWorking)...

2019-03-19 17:38:08 137

原创 将文件大小转换成合适的KB/MB/GB

CString GetFileSizeString(__int64 nFileSize){ CString strFileSize = _T(""); TCHAR szFileSize[MAX_PATH]; StrFormatByteSize(nFileSize, szFileSize, MAX_PATH); strFileSize.Format(_T("%s"), szFileSi...

2019-03-13 14:27:30 1838

原创 CTime和CString相互转化

CTime转CString:CTime cTime = GetCurrentTime();CString strTemp = _T("");strTemp = tCreate.Format(_T("%Y-%m-%d %H:%M:%S"));CString转CTime:CTime SFileInfo::StringToTime(CString strTime){ COleVarian...

2019-03-11 19:21:03 755

原创 MFC 设置所有控件的字体

void SetChildWndFont(HWND hWndParent, CFont *pFont){ if (!pFont) return; CWnd * pWnd = NULL; pWnd = CWnd::FromHandle(::GetWindow(hWndParent, GW_CHILD)); while(pWnd) { pWnd-&gt;SetFont(pFon...

2019-02-28 09:19:22 1083

原创 c++向上取整/向下取整

在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:函数名称 函数说明    floor() 不大于自变量的最大整数 ceil() 不小于自变量的最大整数 round()   四舍五入到最邻近的整数                              (1) floor()...

2019-02-26 15:54:06 15587 2

原创 UDP发送与接收

UDP发送://成员变量定义int m_nUdpPort; //自定义SOCKET m_udpSocket;sockaddr_in m_addrto;//初始化广播Socketm_udpSocket = socket(AF_INET, SOCK_DGRAM, 0);if (m_udpSocket != INVALID_SOCKET){ //启动SOCKET库,版本为...

2019-01-02 09:23:02 5989

原创 选择文件夹

函数:BOOL G_SelectFolderPath(CString &amp;amp; strFolderPath, HWND hWnd){ TCHAR szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = ...

2018-12-21 09:28:34 129

原创 CString转char*

函数:BOOL G_StringToASII(CString const &amp;strSrc, BYTE * &amp;pRefStoreBuff, int &amp;nBuffLen, int &amp;nLenResult){ nLenResult = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, strSrc, -1, NULL, 0...

2018-12-21 09:22:37 5792

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除