- 博客(23)
- 收藏
- 关注
原创 MFC资源中的字符串加载(LoadString)不上
1.代码Cstring str;str.LoadString(IDS_TEST);//IDS_TEST为资源string table中的字符串宏,对应字符串XXX2.问题背景:A模块和B模块,A中操作菜单,菜单响应函数调到B模块中,并弹框提示XXX。结果发现弹框中没有字符串,GetLastError()发现LoadString返回值位716,没有匹配上资源中的字符串。3.定位过程:发现将LoadString()中的宏编号换成A模块的,就可以弹框提示。 发现B模块的对话框...
2021-07-01 22:14:18
1529
原创 剑指 Offer 55 - I. 二叉树的深度
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。提示:节点总数 <= 10000题解1:1.判断树节点是否为空,若为空,返回深度为0;2.遍历左子树;3.再遍历右子树4.判断左右子树深度,谁大,返回(谁+1)(为了..
2021-02-26 23:00:21
123
原创 孙鑫MFC学习笔记-22 数据库编程
22 数据库编程22.1数据库访问技术22.1数据库访问技术微软提供了标准的访问数据库接口:1.ODBC(Open Database Connectivity),开放数据库互连。它为编写关系数据库的客户软件提供了一种统一的接口。ODBC提供一个单一的API,可用于处理不同数据库的客户应用程序。使用ODBC API的应用程序可以与任何具有ODBC驱动程序的关系数据库进行通信。面向C/C++开发人员。2.DAO(Data Access Object),数据访问对象。它是微软提供给Visual Basi
2020-12-21 22:36:35
285
原创 查看dll的方法
查看一个可执行模块依赖的动态链接库(dll),有两种方式:(1)dumpbin命令(2)Dependency Walker工具下载网址:http://www.dependencywalker.com打开该网址后,如下图所示,根据电脑情况选择安装包。笔者的电脑是x64,故选择下载第二个。...
2020-12-14 21:27:05
6008
原创 CString查找子字符串用Find
CString str1 = " abcdef";CString str2 = "abc";if(str1.Find(str2) >= 0){ return TRUE;}else{ return FALSE;}str1包含了str2,所以最后返回TRUE
2020-12-10 16:01:20
2027
原创 孙鑫MFC学习笔记-21HOOK编程
通过SetWindowsHookEx安装钩子:HHOOK SetWindowsHookEx(int idHook,//将要安装的钩子过程的类型HOOKPROC lpfn,//指向相应的钩子过程HINSTANCE hMod,//指定lpfn指向的钩子过程所在的DLL的句柄DWORD dwThreadId//指定与钩子过程相关的线程标识);SetWindowsHookEx函数的作用是安装一个应用程序定义的钩子过程,并将其放到钩子链中。...
2020-12-07 22:00:13
354
原创 error C2664: “sscanf”: 不能将参数 1 从“unsigned short”转换为“const char *”
错误 5 error C2664: “sscanf”: 不能将参数 1 从“unsigned short”转换为“const char *” 代码:unsigned shortushNumber;UINT32 uiNumber; sscanf(ushNumber, "%X", &(uiNumber));//该句代码出错解决办法:用CString做中转CString strValue = _T("");strValue.Format(_...
2020-11-11 15:14:57
977
原创 MFC中PostQuitMessage(0)退出进程前,为什么MessageBox和AfxMessage会失效?
PostQuitMessage(0)搜索得到:函数原型:VOID PostQuitMessage(int nExitCode // exit code);参数:nExitCode: 表征应用程序退出码.该值将作为WM_QUIT消息的wParam参数送到消息队列.返回值:该函数没有返回值.备注:PostQuitMessage函数投递一个WM_QUIT消息到线程消息队列并且立即返回.该函数简单的通知系统线程请求马上退出.当线程从它的消 息队列收到WM_QUIT消息时,将...
2020-11-02 14:12:14
484
原创 SetMenu(&menu);出现断言错误
SetMenu(&menu);解决办法:CMenu menu;一定要最为类的成员变量,而不是局部变量,若为局部变量会出现assert断言问题
2020-10-08 16:04:37
512
原创 注册dll命令
-u:注册成功与否结果提示,-s注册成功与否结果不提示regsvr32.exe -u test.dllregsvr32.exe -stest.dll
2020-09-27 10:36:46
843
原创 CStdioFile 以字符串形式写入文件一行
CStdioFile mFile; CFileException mExcept; mFile.Open(_T("D:\\TEST.ini"),CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite,&mExcept); mFile.SeekToEnd(); CString stroutput = "I am a string"; stroutput += "\r\n"; mFile.WriteS...
2020-09-03 17:48:31
412
原创 GetPrivateProfileInt读取ini文件中的值
UINT GetPrivateProfileInt( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName);参数:lpAppName:ini文件中段的名称,该值采用字符串形式。lpKeyName:段中关键字的名称,该值采用字符串形式。nDefault:如果没有找到,填充的默认值。lpFileName:初始化文件的名称。如果此参数不包含文件的完整路径,则系统在Wind...
2020-08-22 11:20:49
837
原创 win10x64安装windbg,抓dump的时候报错,解决方法
出错原因:权限不够。解决方法:启动任务管理器-文件-新建任务-勾选下面的“以系统管理权限创建此任务”方框内输入抓dump的命令,点击确定。
2020-08-14 13:48:01
1976
原创 2020-08-11 map的计数:++比count速度快
intcountCharacters(vector<string>&words,stringchars){ map<char,int>charmap;//统计chars中各个字符出现的个数,存入哈希表中charmapfor(charc:chars){//charmap[c]=count(chars.begin(),chars.end(),c);...
2020-08-11 10:02:50
173
原创 map重载[]的用法
#include <stdio.h>#include <stdlib.h>#include <map>#include <iostream>using namespace std;void main(){ map<int,int> m1; m1.insert(pair<int, int>(1, 1)); m1.insert(map<int, int>::value_type(2, 2)); m1[3] .
2020-08-02 11:05:59
1071
原创 MFC CGridCtrl 表格控件隐藏一行或者一列
CGridCtrl m_grid; iRow:行号iCol: 列号1.隐藏一行:将该行高度设置为0m_grid.SetRowHeight(iRow,0);2.隐藏一列:将该列的宽度设置为0m_grid.SetColumnWidth(iCol, 0);设置该行/该列隐藏后,在用户调节行宽和列高时,隐藏的行/列显示:m_grid.EnableHiddenColUnhide(TRUE);m_grid.EnableHiddenRowUnhide(...
2020-07-31 11:42:12
1383
原创 Innosetup 拼接字符串;打补定时,获取安装盘的安装路径,2钟方法
//获取软件的安装路径function GetPath(Param: String): String;var sInstallPath: String; len: Longint;begin sInstallPath := ''; if RegValueExists(HKLM, 'SOFTWARE\Microsoft\DrWatson', 'LogFilePath') ...
2020-04-13 13:47:58
1475
原创 innosetup 安装路径问题
{app}是目标安装路径,与DefaultDirName对应。但是,当计算机中已经安装该安装盘,{app}默认是已经安装的路径。
2020-04-13 12:47:24
2321
原创 Innosetup脚本,去掉组件向导界面的安装类型选择
Innosetup脚本,去掉组件向导界面的安装类型选择去掉上图中红色圈出的下拉框:[Types]Name: full; Description: 完整安装; Flags: iscustom这样将安装类型full作为用户的选择。处理结果:...
2020-04-02 18:46:45
1066
原创 MFC选择指定文件并显示路径,MFC打开文件夹显示文件夹中多种类型的文件名,双击图片名显示图片
1.选择指定文件并显示路径图中“打开文件”按钮添加响应函数OnBnClickedButton1,用CFileDialog过滤文件类型并打开选择文件对话框,MFC提供的类CFileDialog只能用来打开文件。将选中的文件路径显示在Edit Control控件中void CTestSelectfileDlg::OnBnClickedButton1(){ // TODO...
2020-01-07 11:40:30
4341
2
原创 从配置文件(.ini)中获取变量的值
建立一个win32控制台项目,输入一下程序,实现从配置文件test.ini中读取参数的值。1.::GetPrivateProfileInt:读取int型参数的值;2.GetPrivateProfileString:读取string型参数的值;3.GetPrivateProfileSectionNames:读取所有节点名。// testINI.cpp : 定义控制台应用程序的入口点...
2020-01-06 15:23:04
1605
原创 MFC:程序启动时显示图片1.Picture Control控件中显示图片;2.在Dialog中显示图片
(1).Picture Control控件中显示图片1.新建一个MFC对话框工程pictureLoad,手动拖入 Picture Control控件ID为IDC_STATIC2.在对话框类class CpictureLoadDlg 中加入变量:CImage m_img;3.在BOOL CpictureLoadDlg::OnInitDialog()函数中添加获取目标图片的代码:...
2019-12-19 13:58:59
958
1
原创 枚举类型相互对应使用
1.枚举类型的定义enum <类型名> {<枚举常量表>};2.枚举成员变量赋值public enum Number{ a=1, c=1,};或typedef enum enum_name //用typedef给枚举型enum_name起别名enum_anothername{ AAA = 0, BBB = 5}en...
2019-11-29 17:26:15
1302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人