c/c++
chengriyue
这个作者很懒,什么都没留下…
展开
-
MFC对话框窗口框按Enter键和ESC键会消失的解决方案
解决在MFC程序中对话框或者TabControl焦点中按回车或者esc窗口消失的问题。原因是 回车键和esc键 默认消息处理 分别是 onok 和oncancel可以屏蔽onok和oncancel 或者重载pretranslatemessage 中截取回车消息和esc消息在对话框对应的类重写PreTranslateMessageBOOL CBDTPWorkBoxDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用..原创 2021-02-05 11:07:02 · 884 阅读 · 2 评论 -
MFC基于对话框 让EditControl 支持拖拽文件获得全路径
1.右键-解决方案-添加-类注意:不要在资源界面上右键-添加类,因为那样添加的是MFC类,不一样的。2.添加类界面填写自定义的类名如:CMyEdit 继承于(基类)CEdit3.切换到类视图,选中上面建立的CMyEdit类,在消息中创建WM_DROPFILES的消息映射,并添加代码void CMyEdit::OnDropFiles(HDROP hDropInfo){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if (hDropInfo) { ...原创 2020-12-09 15:56:41 · 852 阅读 · 0 评论 -
Rtlcompressbuffer 压缩与解压
#include <iostream>#include <windows.h>using namespace std;//typedef unsigned long NTSTATUS;#define STATUS_SUCCESS ((NTSTATUS)0x00000000UL)#define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117UL)#define STATUS_I.原创 2020-10-26 21:59:15 · 1511 阅读 · 0 评论 -
string 与wchar_t* char*
string TCHAR2char(const TCHAR* STR){ string strchar; if (!*STR) { return strchar; } //返回字符串的长度 int size = WideCharToMultiByte(CP_ACP, 0, STR, -1, NULL, 0, NULL, FALSE); //申请一个多字节的字符串变量 char* str = new char[size +.原创 2020-10-22 21:44:55 · 245 阅读 · 0 评论 -
SHFileOperation 操作文件,本例拷贝文件
char*版本 SHFILEOPSTRUCTA fop = { 0 }; fop.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR; fop.wFunc = FO_COPY;//选择执行类型,FO_COPY,FO_DELETE,FO_RENAME,FO_MOVE四种 fop.pFrom = "d:\\test.txt"; fop.pTo = "c:\\tes.原创 2020-10-22 21:37:59 · 1309 阅读 · 0 评论 -
VC++开发中最简单的Multi-Byte(ANSI)和Unicode互转方法,灵活使用Windows基本API:wsprintfA, wsprintfW
不少程序员都是从VC6.0的IDE下直接跳到VC8.0或者9.0下的。对新的IDE工程中默认的Character Set 为 Use Unicode Character Set带来的诸多不习惯肯定深有体会。由于这个设置,我们必须要在所有的字符串前面加上宏_T()或者宏TEXT().现在介绍一种简便的转换方法(无论什么Character Set 都可以转换)ANSI->Unicode字符串char szTemp[] = "hello world";wchar_t szOut[0..转载 2020-09-24 11:45:12 · 304 阅读 · 0 评论 -
Multi-Byte/Unicode支持总结
很多时候,我们的程序需要支持两种字符集,Multi-Byte与Unicode。这时就需要进行字符串转换,以及两套API之间的切换。对两种字符集的统一支持,本文做了一些简单总结。1、常用转换函数以下四个函数为Multibyte/Unicode转化基本函数,已处理内存泄露问题。其他转换可以在这四个基本函数基础上操作。1.1.Ansi转化为Unicodestatic wstring AnsiToUnicode(const string& str){ int ..转载 2020-09-24 11:41:19 · 341 阅读 · 0 评论 -
【Notepad++】用 Notepad++ 编译 C/C++
一. 前情 想找Notepad++运行命令的可以直接跳到最后。 平时用的 IDE(集成开发环境)是 Dev-Cpp,因为只是学习阶段,代码还上不了千行,个人认为不需要 VS 那种高大全,VC6.0 又有些地方(不只是审美)不顺眼。 但最近又发现当把 C++ 代码文件复制到 Ubuntu 18.04 编译运行时,汉字部分总会乱码,因为encoding(字符编码)的问题,Ubuntu的终...转载 2019-10-22 15:31:25 · 1341 阅读 · 0 评论 -
扫描指定目录以及子目录下的所有文件并打印绝对路径
void scan_dir(char *dir) // 定义目录扫描函数 { DIR *dp; // 定义子目录流指针 struct dirent *entry; // 定义dirent结构指针保存后续目录 struct stat statbuf; // 定义statbuf结构保存文件属性 c...原创 2019-05-16 15:51:46 · 898 阅读 · 0 评论 -
使用Visual Studio 2017开发Linux程序
环境: win10、VS2017、Ubuntu18.04 在Ubuntu上首先需要安装gcc、g++和gdbserver,这里就不多说一、安装VS2017 1.1 安装VS2017时,必须要勾选“使用C++的Linux开发”工具集二、创建Linux项目2.1 创建一个名称为"TestLinux"的解决方案,我们稍后会在这个解决方案内新建多个Linux项目(包括可执...转载 2019-05-09 10:32:44 · 312 阅读 · 0 评论 -
对大容量存储内核驱动改写初试!
、2)执行命令: KERNEL=kernel7(3)执行命令:make modules dtbs编译完成后读卡器把树莓派内存卡插入连接到虚拟机编译好的usb_f_mass_storage.ko 拷贝到树莓派 /media/python/rootfs/lib/modu............原创 2019-04-22 10:17:17 · 237 阅读 · 0 评论 -
简单的Linux下的socket通信,附带出错提示的头文件myerr.h,自从用了根本停不下来啊!!!
#ifndef _MYERR_H_#define _MYERR_H_ #include <stdio.h>#include <string.h>#include <errno.h>extern int errno; #define MYDBG #ifdef MYDBG#define PRN_ERRMSG_EXIT(errmsg) ...转载 2019-04-22 10:15:36 · 1076 阅读 · 0 评论