自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 GetModuleHandle

lpModuleName String,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD。NULL则返回调用进程本身的句柄。只有欲获取的模块已映射到调用该函数的进程内,才会正确得到模块句柄。,如执行成功,则返回模块句柄。获取错误信息,请调用。

2024-06-06 08:30:07 145

原创 GetCurrentProcessID、OpenProcessToken、LookupPrivilegeValue

第一个参数就是指权限的类型,是一个LUID的值,LUID就是指locally unique identifier,我想GUID大家是比较熟悉的,和GUID的要求保证全局唯一不同,LUID只要保证局部唯一,就是指在系统的每一次运行期间保证是唯一的就可以了。PTOKEN_PRIVILEGESNewState, //{指明要修改的权限,是一个指向TOKEN_PRIVILEGES结构的指针,该结构包含一个数组,数据组的每个项指明了权限的类型和要进行的操作;

2024-05-30 22:45:46 311

原创 C++ CreateFileMapping 内存映射实现快速读取文件

使用CreateFileMapping创建一个内存映射文件内核对象,告诉操作系统内存映射文件需要的物理内存大小,这个步骤决定了内存映射文件的用途――究竟是为磁盘上的文件建立内存映射还是为多个进程共享数据建立共享内存。映射文件映射对象的全部或一部分到进程的地址空间,可以认为该操作是为文件中的内容分配线型地址空间,并将线型地址和文件内容对应起来,完成该操作的函数是MapViewOfFile。使用指向这个地址的指针就可以读取文件的内容了。调用CreateFile函数打开想要映射的文件,得到文件句柄hFile。

2024-05-29 23:46:47 703

原创 DoModal和Creat ,模态对话框与非模态对话框(modeless)

如果需要手工删除窗口对象,则应该先调用相应的函数(如CWnd::DestroyWindow)删除窗口,然后再删除窗口对象.对于以变量形式创建的窗口对象,窗口对象的删除是框架自动完成的.对于在堆中动态创建了的非自动清除的窗口对象,必须在窗口被删除后,显式地调用delete来删除对象(一般在拥有者或父窗口的析构函数中进行).对于具有自动清除功能的窗口对象,只需调用CWnd::DestroyWindow即可删除窗口和窗口对象。要删除一个MFC窗口对象,应该先删除窗口对象封装的窗口,然后删除窗口对象本身。

2024-05-29 00:06:50 982

原创 CFile和CStdioFile的文件读写使用方法

各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。虽然VC提供的文档/视结构中的文档也可进行这些操作,但是不容易理解、使用和管理,因此虽然很多VC入门的书上花费大量篇幅讲述文档/视结构,但我建议你最好不要使用它的文档。它们的用法很简单,可参考MSDN。如果你要进行的文件操作只是简单的读写整行的字符串,我建议你使用CStdioFile,用它来进行此类操作非常方便,如下例。

2024-05-25 22:28:01 957

原创 list.InsertColumn

以上代码的目的是向列表中插入两个显示列,第一列标题为"主项",对齐方式为左对齐,宽度为80;第二列标题为"子项",对齐方式为左对齐,宽度为50。list.InsertColumn(1,"子项", LVCFMT_LEFT, 50);list.InsertColumn(0,"主项",LVCFMT_LEFT, 80);

2024-05-25 20:59:20 100

原创 SetWindowTextA 函数

如果指定窗口的标题栏有一个) ,则更改 (的文本。如果指定的窗口是控件,则会更改控件的文本。但是,无法更改另一个应用程序中控件的文本。

2024-05-24 21:37:39 354 1

原创 wchar_t

比如对于汉字,韩文以及日文这样的字符,它们的每一个文字都占据两个字节,所以C++提出了wchar_t类型,也称为双字节类型,或宽字符类型。unicode编码的字符一般以wchar_t类型存储。标准C中的wprintf()函数以及标准C++的iostream类库中的类和对象能提供wchar_t宽字符类型的相关操作。char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。wchar_t,宽字符,是C/C++的字符类型,是一种扩展的存储方式。

2024-05-24 21:06:36 145 1

原创 to_string().c_str()

to_string()是<string>标头的库函数,用于将数值(数字)转换为字符串。string是返回类型,即函数返回一个字符串对象,其中包含字符串格式的数字值。c_str():生成一个const char*指针,指向以空字符终止的数组。numbric_value是可以为整数,浮点数,长整数,双精度数的数字。C++语法】.c_str()函数。1. c_str()理论介绍。2. 需要包括头文件。

2024-05-22 22:00:14 330 1

原创 InsertItem SetItemText

CListCtr::InsertItem作用是:在列表控件里面插入一个新行。参数1:int 项索引-行号【从0开始 不包括标题栏】list.SetItemText(0,1,"子数据");插入数据"主数据"到第一行的主项,你可以认为是第一列。list.InsertItem(0,"主数据");将第一行第二列(1表示第二列)设置为“子数据”。参数3:LPCTSTR 文本。返回值:成功返回非0,失败返回0。

2024-05-22 21:50:37 172 1

原创 InsertColumn

结构在报表视图包含列的属性。它还用于获取有关列的信息。此机制在 Windows SDK所述。列的宽度,以像素为单位。如果此参数是-1,列宽未设置为。指定列的对齐方式的整数。如果此参数是-1,子项不与列。在列表视图控件中最左侧的列必须为左对齐。索引新列,如果成功或-1否则为。包含列标题的字符串的地址。插入新列列表视图控件。

2024-05-21 20:39:04 231

原创 SetExtendedStyle

如果设置了LVS_EX_CHECKBOXES属性,则可以用来得到某一行是否Checked。可以先用下面的语句来删除以前的东西:k>=0;k--) //注意要从后往前删,否则出错用下面的语句新建列:m_ListCtrl.InsertColumn(0,_T("文件名"),LVCFMT_IMAGE|LVCFMT_LEFT);m_ListCtrl.InsertColumn(1,_T("仪器类别"));m_ListCtrl.InsertColumn(2,_T("项目类别"));

2024-05-21 20:35:56 593

原创 汇编速查手册

PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )把段地址:偏移地址存到FS:DI.

2024-05-09 21:20:24 481

原创 调试寄存器 原理与使用:DR0-DR7

这种现象可能这样出现(提示:在p6系列处理 器,REP MOVS在不断循环中产生的 调试异常需要执行完了才能准确返回给 调试进程):DR0的L0,G0都置0(DR0就是一个不能产生异常的断点了),然后在DR0指定的地址是一个REP指令的循环,这样,DR0就可能在这个循环之后的REP指令产生的 调试异常中将B0置位。但是,需要注意,如果 调试程序是一个任务,那么T标记的设置肯定就冲突了。5. R/W0-R/W3:(由第16,17,20,21,24,25,28,29位控制):这个东西的处理有两种情况。

2024-05-09 21:12:50 1021

原创 C语言——strtol()函数

如果 base 是 0,则会通过前缀来确定进制,例如前缀 “0x” 表示十六进制数,“0” 表示八进制数,其他情况下都默认为十进制数。strtol() 函数会尝试将 str 中的字符串转换为长整型数,从左到右逐个字符地解析直到无效字符或者字符串结束。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。str 是待转换的字符串,endptr 是一个指向字符指针的指针,用于存储转换结束后 str 中第一个无效字符的地址,base 是进制数。

2024-05-07 21:48:24 526

原创 C++中不存在从CString到const char*的转换错误的解决方法?

方法二、出现不存在从CStrign到const char*的转换,可以将项目属性的字符集设置从"使用Unicode字符集“转换为”使用多字字符集“,点击”项目“----“属性”----“配置属性”----”常规“----”字符集“更改即可!型的变量(strFilePath)转换成const char*即可。

2024-05-06 23:37:01 344

MFC进阶资料 MFC类库参考手册

MFC进阶资料 MFC类库参考手册

2024-05-29

空空如也

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

TA关注的人

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