学习
文章平均质量分 60
qq_43080331
这个作者很懒,什么都没留下…
展开
-
判断指定文件是否存在
参数 strFileNamePOFSTRUCT lpOpenBuf = new OFSTRUCT;//注意deleteHFILE hFile = OpenFile(strFileName, lpOpenBuf, OF_EXIST);if (hFile != HFILE_ERROR){ //file exist}//方法2ifstream infile(strFileN...原创 2019-08-20 15:27:46 · 332 阅读 · 1 评论 -
C++ 读写注册表
1.注册表简介注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息。16位驱动在Winnt (Windows New Technology)下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS(基本输入输出系统)来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它...转载 2019-03-20 15:12:51 · 1403 阅读 · 0 评论 -
异步线程
void CLogicScanLocalSoft::AsycScanLocalData(){ AutoLockT lock(m_doneLock); m_bScanDone = false; DWORD dwThreadID; HANDLE hThread = ::CreateThread(NULL, 0, DoLoadDataThread, this, N...原创 2019-03-11 09:19:52 · 112 阅读 · 0 评论 -
C++ STL中容器的使用
一、容器的定义 在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法。二、容器的种类 1、顺序容器:是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集。顺序性容器中的每个元素均有固定的位置,除非用删除或...转载 2019-03-14 15:11:09 · 268 阅读 · 0 评论 -
it++ 的必要性
for (std::vector<CSoftwareer*>::iterator itLocal = m_vecSoftWareer.begin(); itLocal != m_vecSoftWareer.end(); ) { bool bFind(false); for (UninstallDatas::iterator it = v...原创 2019-03-14 14:54:06 · 448 阅读 · 0 评论 -
如何实现秒数和日期之间的转换
如何实现秒数和日期之间的转换我想要进行对时方面的工作,先把日期转换为距标准时间的秒数,计算完成后在转化为日期(包括时分秒)。听说有库函数可以利用,具体哪个库,是time.h吗?怎么用啊?急求啊!给定年月日...展开 1 2 3 4 5 6 7 8 9 10 11 12 13 ...原创 2019-03-13 21:57:19 · 1229 阅读 · 0 评论 -
vs2015编译通过 下面一直提示波浪线的 在属性常规这样设置就行了
;$(ProjectDir);%(AdditionalIncludeDirectories)原创 2019-02-27 11:59:43 · 1806 阅读 · 0 评论 -
C++中计算两个随意日期的相隔天数
#include<Windows.h> #include<stdio.h> structtagDate { intyear; intmonth; intday; }; //设置日期 voidSetDate(inty,intm,intd,tagDa...原创 2019-03-13 11:28:36 · 956 阅读 · 0 评论 -
#ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #endif
#ifdef _DEBUGvirtual void AssertValid() const; //assert(断言)valid(有效的,正确的)virtual void Dump(CDumpContext& dc) const; //存储上下文#endif 这两个函数是调试用的,第一个函数检查可用性,即是否有效。第二个函数如...转载 2019-03-21 17:36:03 · 195 阅读 · 0 评论 -
ifdef等
#define 定义一个预处理宏#undef 取消宏的定义#if 编译预处理中的条件命令,相当于C语法中的if语句#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句#ifndef 与#ifdef相反,判断某个宏是否未被定义#elif ...转载 2019-03-25 11:41:41 · 105 阅读 · 0 评论 -
GDI 及OPENGL的区别
GDI+的介绍:GDI+是Windows XP的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息。它是一组通过C++类实现的应用程序编程接口。GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作。GDI+...原创 2019-08-01 15:15:08 · 4638 阅读 · 0 评论 -
应WM_DROPFILES 拖拽功能的控件响应
现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。怎么让自己的软件也有这个功能呢?其实,并不是很难,只要让你需要有拖拽功能的控件响应WM_DROPFILES消息就行了。下面以Edit控件和ListBox控件为...转载 2019-06-03 16:53:51 · 596 阅读 · 0 评论 -
学习笔记-发送数据查询
先在install的工程中的静默安装,#define RUN_DEFAULT_CMD "RM"void CRunSilentInstallInfo::DoRunSilentInstallInfo(){ CConfigureInstance::Instance().RequestServerTime...原创 2019-05-30 19:35:38 · 203 阅读 · 0 评论 -
设置鼠标光标的手型
VC++ 6.0 设定光标可以使用SetCursor(HCURSOR hCursor)来设定,如果是新手,建议在WM_SETCURSOR消息响应函数中设置,你可以在别的地方设置,但是需要自己控制光标的变化。1、使用系统预定义的光标: 使用ClassWizard为视图或者对话框添加WM_SETCURSOR消息的响应函数OnSetCursor();在函数中,使用Set...转载 2019-05-17 16:23:53 · 1565 阅读 · 0 评论 -
typedef 的详谈
不太想谈#define, 在题主的例子的这种用法里, 它就是个文本替换工具, 预处理器完成的, 无脑替换, 跟word里的replace一模一样, 不关编译器的事. 我想谈一下typedef.搞懂了c++创始人写的<the design and evolution of cpp>中的下面这个例子, 有助于你理解typdef: typedef int P(); ...转载 2019-05-13 10:54:42 · 209 阅读 · 0 评论 -
关于安装包快捷方式的问题
都是通过strCommand = _T(RUN_UTILITY_INSTALL_SPREAD_OPERATE_CMD); Unitil通过命令行来实现的 通过EXE条用命令行void CRunInstallSoftInfo::DoRunInstallSoftInfo(HINSTANCE hInstance, BOOL bInstallSilent, const TCHAR *lp...原创 2019-05-09 16:11:26 · 429 阅读 · 0 评论 -
编译时LINK 2001 2019等编译链接错误时的解决方案
在使用VS2015下使用libjpeg-turbo静态库,编译时报错了:error LNK2019: 无法解析的外部符号 __iob_func,该符号在函数 output_message 中被引用根据关键字在网上找到一些文章描述了类似的错误,大都是找不到外部符号__iob,原因是VS2010上使用了VC6编译的DLL。虽然与我的情况不同,但是原理是一样的,我遇到的这个问题的原因是VS201...原创 2019-04-23 10:44:38 · 859 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)”中被引用
一,问题描述MSVCRTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用CamShift.exe : fatal error LNK1120: 1 个无法解析的外部命令error LNK200...转载 2019-03-27 13:48:31 · 1299 阅读 · 0 评论 -
string 转 char类型的两种方法的思考
/*LPWSTR pszCmdLine = StrDup(strRunExe.c_str()); if (pszCmdLine != nullptr) { bRet = CommonUtil::CreateProcessWithToken(pszCmdLine); LocalFree(pszCmdLin...转载 2019-03-22 10:20:55 · 928 阅读 · 0 评论 -
bitmap位图
思路:这道题首先要判断40亿个不重复的无符号整数究竟占多大的内存,因为太大的内存我们无法加载到现有的计算机中。一个整数是4个字节,40亿个整数就是160亿个字节,也就相当于16G内存,就一般的计算机而言很难实现这个加载,所以我们可以采取以下两种方案,一种是分割,一种是位图。方法:①分割采用分割处理,把40亿个数分批次处理完毕,当然可以实现我们最终的目标,但是这样做时间复杂度未免优点太...转载 2019-02-25 10:13:30 · 262 阅读 · 0 评论 -
float
https://blog.csdn.net/zhu2695/article/details/51982066float 占位固定 很多控件共有的属性name="thebtn"(用处:代表当前控件。)text="文字"(用处:控件上显示的文字。textcolor可以设置它的颜色。disabledtextcolor禁用时的颜色。textpadding文字边距。)tooltip=...转载 2019-01-23 17:58:58 · 199 阅读 · 0 评论 -
怎么取文件的数字签名
验证文件数字签名是否有效可以使用函数 WinVerifyTrust取得文件数字签名证书信息需要使用函数 CryptQueryObject。// FileSign.cpp : 定义控制台应用程序的入口点。//#include “stdafx.h”#include <windows.h>#include <wincrypt.h>#include <wintr...转载 2018-10-16 19:37:40 · 1740 阅读 · 0 评论 -
怎么取文件版本号 WindowsAPI之GetFileVersionInfo函数和VerQueryValue函数
VS_FIXEDFILEINFO结构包含了文件的版本信息:typedef struct tagVS_FIXEDFILEINFO {DWORD dwSignature; //包含的值是0xFEEF04BDDWORD dwStrucVersion; //该结构的32位二进制版本号,高16位是主版本号,低16位是副版本号DWORD dwFileVersionMS; //该文件二进制版本号的高32...转载 2018-10-16 19:36:18 · 1127 阅读 · 0 评论 -
dll的生成与使用
原C++编程笔记:dll的生成与使用2016年06月29日 19:24:40 Elaine_Bao 阅读数:19567 标签: dll 动态链接库 def VC++ 更多个人分类: c++编程版权声明:本文为博主原创文章,转载请注明。 https://blog.csdn.net/elaine_bao/article/details/517848641.动态链接库(dll)概述没接触d...转载 2018-10-18 16:18:19 · 165 阅读 · 0 评论 -
CListCtrl的重绘
装载自http://blog.csdn.net/hurryboylqs/article/details/5858997自绘一个item我相信大部分人都在10分钟内能搞定但是绘制非item部分的区域,同学们就傻眼了,不知道如何下手CListCtrl的绘制机制在windows里做了一个优化,就是一个绘制循环通知过程之所以不在OnPaint中画是考虑效率上的原因,好了我们看下这个绘制循环:CD...转载 2018-10-18 13:47:03 · 2020 阅读 · 0 评论 -
MFC listcontrol的常规用法
ListCtrl 风格LVS_ICON: 为每个item显示大图标LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”设置listctrl 风格及扩展风格LONG lStyle;lStyle = ...转载 2018-09-27 09:55:40 · 319 阅读 · 0 评论 -
Tchar和char的转换:LPCSTR
Tchar和char的转换:#include “stdafx.h”#include “MFCAppFiledlg1.h”#include “MFCAppFiledlg1Dlg.h”#include <tchar.h>#include #include #include using namespace std;#if _UNICODEtypedef wstring x...原创 2018-09-25 16:03:53 · 1889 阅读 · 0 评论 -
关键字的意义
asmasm (指令字符串):允许在 C++ 程序中嵌入汇编代码。autoauto(自动,automatic)是存储类型标识符,表明变量”自动”具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和...原创 2018-08-28 14:05:33 · 328 阅读 · 0 评论 -
学习笔记2-转换运算符
C++ 关键字 下表列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。asm(嵌入汇编代码) else new(分配内存) this(this 是const指针,要用-) auto(auto用于修饰一个自动变量) enum(枚举) operator (重载操作符) throw(抛出异常throw(……)表示抛弃所有)boo...原创 2018-08-28 14:03:08 · 120 阅读 · 0 评论 -
自学笔记
宏 : 计算机里面的一种批量处理的称谓, 也可以说是是一种规则或者模式,或叫语法替换。用于说明某种特殊输入(通常为字符串)如何根据自定义转换成对应的输出(也为字符串)。这种替换在预编译时进行,称为宏的展开。...原创 2018-08-28 09:58:50 · 94 阅读 · 0 评论 -
dll导出
的动态链接库DLL的链接应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录, 3.Wind...转载 2018-10-19 17:08:53 · 175 阅读 · 0 评论 -
dll与lib的区别
@C++ 调用lib 和 dll的 方法 及 动态库DLL与静态库lib的区别2017年01月16日 15:36:58 安静平和 阅读数:1754 标签: 加载 动态链接库 静态链接库 更多个人分类: C/C++C++ 调用.lib的方法:一: 隐式的加载时链接,有三种方法1 LIB文件直接加入到工程文件列表中在VC中打开File View一页,选中工程名,单击鼠标右键,然后选...转载 2018-10-22 13:48:45 · 253 阅读 · 0 评论 -
dll的加载
[C-C++]DLL之旅1 : 将程序打包成DLL2017年11月20日 20:25:21 祥知道 阅读数:359 标签: dll matlab 更多个人分类: C-C++版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/humanking7/article/details/78585004原创文章,欢迎转载。转载请注明:转载自 祥的博客...翻译 2018-10-22 14:12:25 · 123 阅读 · 0 评论 -
C++中substr函数的用法
1 2 3 4 5 6 7 8 9 #include<string> #include<iostream> using namespace std; int main() { string s("12345asdf"); ...原创 2019-01-28 19:32:17 · 4790 阅读 · 0 评论 -
创建快捷方式
IPersistFileVC操作Windows快捷方式(自己总结)二个操作:新建和解析主要用到的是COM组件。IShellLink和IPersistFile需要添加的头函数shobjidl.hIPersistFile主要用到两个成员函数:1、Save。保存内容到文件中去2、Load。读取 Load的函数原型 HRESULT Load( LPCOLSTR pszF...转载 2019-01-28 16:27:20 · 242 阅读 · 0 评论 -
3种创建打开文件的窗口方法
1. /*CFileDialog filedlg(TRUE); filedlg.m_ofn.lpstrTitle = _T("打开文件"); filedlg.m_ofn.lpstrFilter = _T("all file(*.*)\0*.*\0\0 "); filedlg.m_ofn.lpstrInitialDir = strDir.c_str(); fil...原创 2019-01-21 17:52:06 · 384 阅读 · 0 评论 -
C++ 值传递、指针传递、引用传递 理解
C++ 值传递、指针传递、引用传递详解最近写了几篇深层次讨论数组和指针的文章,其中提到了“C语言中,所有非数组的形式参数传递均以值传递形式”数组和指针背后——内存角度语义"陷阱"---数组和指针而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~下文会通过例子详细说明哦值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。...转载 2019-01-24 16:58:22 · 98 阅读 · 0 评论 -
StringToWString 转换
std::wstring StringToWString(const std::string& str) { int num = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0); wchar_t *wide = new wchar_t[num]; MultiByteToWideChar(CP_U...原创 2018-11-06 16:44:32 · 1239 阅读 · 0 评论 -
用shellexecute 执行CMD遇见的问题
1、如果命令中的路径包含空格,要把路径去掉头尾用双引号包含起来。例:strPath = “”D:\\\"te st\\\"test.exe;(用“\”进行字符转义) 2、用变量传命令的时候,要在命令字符开始加上"/c",不然命令不会执行。例:strCommand = "/c " + "date";ShellExecute(NULL, "open", "cmd", str原创 2018-10-29 15:28:06 · 2623 阅读 · 0 评论 -
转计算机基础知识
计算机网络知识总结置顶 2018年04月01日 15:40:24 Snailclimb在CSDN 阅读数:816版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34337272/article/details/79778645目录:一,计算机概述 二,物理层 三,数据链路层 四,网络层 五,运输层 六,应用层一,计算机概述...转载 2018-10-23 15:10:00 · 2027 阅读 · 0 评论