Windows编程
文章平均质量分 72
Quellaaa
这个作者很懒,什么都没留下…
展开
-
CString、string和char之间的类型转换
文章目录0. 题外话1. 前言2. 类型转化2.1 CString和string的相互转化2.2 CString和char*的相互转化2.3 char*和string的相互转化3. 总结4. 使用总结0. 题外话由于最近完成一个工程时候总是涉及到类型转换,然后总是出现转换后编译出错或者中文乱码情况,内心有点崩溃,所以就出了这个总结希望以后遇到类型转换这块就比较熟练啦1. 前言首先要意识到一...原创 2019-07-27 16:21:44 · 590 阅读 · 0 评论 -
CString的截取字符串函数,如Mid、Left和Right
函数意义:1.获取nPos前面的字符串str.Left(nPos);2. 获取nPos后面的字符串str.Right(nPos);str.Mid(nPos);3. 获取nPos后面count个字符串str.Mid(nPos, count);用例:CString strTest = L"this is a test string";int nPos...原创 2019-07-23 14:17:11 · 2377 阅读 · 0 评论 -
MFC 驱动加载工具(安装/运行/停止/卸载)
目录题外话一、了解驱动二、驱动加载流程2.1 加载和卸载NT驱动的4个步骤2.2 对应函数实现流程和代码三、一些注意事项题外话虽然网上已经有很多驱动加载工具和相关代码,但自己实现一次有助于理解如何使用代码实现驱动加载。因此本篇文章只是一个学习总结。再说点题外话,不管之前耗费多久时间完成一个项目,事后最好写个总结,后期可以自己翻翻,重温一下~因为我之前完成任何一个项目...原创 2018-10-22 23:20:12 · 1752 阅读 · 2 评论 -
Windows编程下的字符串
目录1. 什么是Unicode字符&&ANSI字符 2. 字符串数据类型3. CHAR和WCHAR4. Windows的Unicode函数和ANSI函数5. C运行库中的Unicode函数和ANSI函数Windows编程支持Unicode和ANSI字符,因此其使用的字符类型不像C++或C,只有一种字符类型(即ANSI类型)。所以Windows编程会定义一个...原创 2018-07-30 17:55:29 · 483 阅读 · 0 评论 -
【Windows编程】分割CString字符串
在对szBranches字符串以空格分割时发现分割出来的字符串内存是以'0a'结尾,百度一下发现'0a'代表换行符,请教大佬后发现原因所在~emmmm,实际上这是个很简单很简单的问题,是我zz了……反思了一下出现这低级错误原因,原因之一是我日常犯傻了:),原因之二是被调试时的字符串骗了…调试时发现szBranches字符串为:由上图所示,一眼看过去感觉他是"11空格12…"形式,但是当将该...原创 2018-07-30 15:53:50 · 1084 阅读 · 0 评论 -
vs2017 windows编程时出现 错误 LNK2019 无法解析的外部符号 _main,该符号在函数&;amp;amp;quot;...&;amp;amp;quot;中被引用
今天第一次接触Windows编程 于是用visual studio 2017写了个简单的程序(代码如下),#include <Windows.h>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ MessageBox(NULL...原创 2018-05-15 20:28:17 · 23206 阅读 · 25 评论 -
windows 修改桌面快捷方式的名字
直接贴代码~#include <shellapi.h>#include <shlobj.h>#pragma comment(lib, "shell32.lib")bool _ChangeLinkFile(CString strOrignPath, CString strAferPath){ HRESULT hr = CoInitialize(NULL); if (SUCCEEDED(hr)) { IShellLink *pShellLink = NULL;.原创 2020-07-02 17:54:00 · 1137 阅读 · 0 评论 -
VS 运行库MT和MD的区别
前言日常工作中总会遇到将项目统一配置为MD,知其然不知所以然。。。。。。所以就有了这篇文章来知其所以然。。。。。VC项目属性→配置属性→C/C++→代码生成→运行时库 可以采用的方式有:多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)、单线程(/ML)、单线程调试(/MLd)。目前Win7、Win10等,选择MD问题不大,但是XP等一些比较...转载 2020-03-02 16:53:59 · 1379 阅读 · 1 评论 -
c++ 释放资源
1、适合场景有时候会想在A.exe释放b.exe以供A.exe使用,这时候就会用到释放资源这玩意~2、涉及函数以及调用次序2.1查找资源:FindResource2.2 加载资源:LoadResource2.3 锁住资源:LockResource2.4 获取资源大小:SizeofResource2.5 创建文件:CreateFile2.6 将资源写到文件中:W...原创 2020-02-27 17:30:14 · 1704 阅读 · 3 评论 -
在程序中生成dump
概要主要涉及的函数有:1、SetUnhandledExceptionFilter(参数)——》程序出现崩溃就会调用该函数2、重写【参数】的回调函数:格式为LONG WINAPI UnhandledExceptionFilterToCreateDump(PEXCEPTION_POINTERS pExInfo)——》程序崩溃时系统就会调用这个回调函数3、MiniDumpWriteDum...原创 2020-01-20 16:34:31 · 235 阅读 · 1 评论 -
Windows注册表--32位和64位程序写注册表位置
前言最近遇到个关于注册表的神奇的事情,当使用RegCreateKeyEx+KEY_WOW64_64KEY在win7环境下写HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\123.exe时,发现结果没有达到预期:在wow6432node下没有该项。解决思路1、测试自己使用RegCreateKey...原创 2020-01-14 16:53:33 · 2557 阅读 · 0 评论 -
互斥量Mutex的简单应用
一、互斥量的简单介绍互斥量是一个内核对象,它用来确保一个线程独占一个资源的访问。互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源。使用互斥量Mutex主要将用到四个函数。下面是这些函数的原型和使用说明。1) CreateMutex函数功能:创建互斥量函数原型:HANDLE CreateMutex( LPSECURITY_ATTRIBUTES...原创 2018-11-07 14:04:23 · 780 阅读 · 0 评论 -
Windows进程通信之共享内存通信
本文章先介绍共享内存是啥,再介绍使用共享内存要涉及的4个函数,最后将实例代码附上,实例代码用于加深理解,读者也可以模仿用例改编使用。1. 共享内存的简单介绍共享内存就是允许两个不相关的进程访问同一个虚拟内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都...原创 2018-11-09 16:36:47 · 1578 阅读 · 0 评论 -
进程通信方式
1文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 Win32 API允许多个进程访问同一文件映射对象,各个进程在它自己的地址空间里接收内存的指针。通过使用这些指针,不同进程就可以读或修改文件的内容,实现了对文件中数据的共享。 应用程序有三种...转载 2018-11-06 09:52:24 · 291 阅读 · 0 评论