![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC++
lyd_253261362
这个作者很懒,什么都没留下…
展开
-
SetCurrentDirectory 导致的崩溃问题
1.程序设置成开机启动,通过注册表启动,导致程序崩溃;分析是日志这块出问题了:分析:是log4cppLIB库中,FileAppender 打开相对路径的日志文件,失败导致的。写文件的时候程序崩溃的问题;原因: std::string strConfigFile; std::string strLogPath; TCHAR szModuleFileName[BUFSI...原创 2020-02-28 10:40:06 · 1320 阅读 · 0 评论 -
文件ini读取不出来值,GetPrivateProfileString函数
问题描述:从配置文件ini读取字段,用notepad.exe保存一下,GetPrivateProfileString读取字段就读取不到,错误值是2,文件不存在,实际上文件存在的。GetPrivateProfileString能正确取值的前体条件是:ini文件的编码格式为ANSI,才能正确读取。这个是BOM,不同的编码BOM如下: 1 2 ...原创 2019-12-11 22:20:07 · 1918 阅读 · 0 评论 -
C++/VC小技巧
<br />【目 录】<br />1. 让程序只运行一次<br />2. 改变对话框的背景颜色<br />3. 让程序前端显示<br />4. “显示”链接LIB文件<br />5. 关闭其它应用程序<br />6. 系统托盘<br />7. 创建隐藏的对话框<br />8. 怎样使用高版本的函数和宏<br />9. 如何以动态的效果打开对话框<br />10.怎样以渐隐方式关闭对话框<br />11.动态改变光标<br />12.重写标题栏上的关闭按钮<br />13.重写F1帮助<br />14.如何转载 2011-04-01 13:51:00 · 1151 阅读 · 0 评论 -
C++ WMI 修改PC ip地址,子网掩码,网关
C++ WMI 修改PC ip地址,子网掩码,网关DhcpNotifyConfigChange在Vista,Windows7失败原创 2010-08-25 14:22:00 · 5481 阅读 · 0 评论 -
.//与API函数GetModuleFileName获取应用程序目录有何不一样?
.//与API函数GetModuleFileName获取应用程序目录有何不一样? 采用.//也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同? 一样!一个是相对路径,一个是绝对路径 .//是的到应用程序的当前目录,但当前目录不一定等于应用程序执行文件的所在目录,一个应用程序被启动时,当前目录是可以被任意设置的。GetModuleFileNa转载 2010-04-25 21:33:00 · 974 阅读 · 0 评论 -
关于Use MFC in a Shared DLL和Use MFC in a Static Library 转换遇到的问题
关于Use MFC in a Shared DLL和Use MFC in a Static Library 转换遇到的问题libcpmt.lib(string.obj) : error LNK2001: unresolved external symbol _atexitnafxcw.lib(auxdata.obj) : error LNK2001: unresolved externa原创 2009-12-09 11:02:00 · 2834 阅读 · 0 评论 -
wchar_t跟char有何区别
char与wchar不要直接转,因为char一个汉字等价于两个字符, 所以对于汉字,一个字节的char单独没有意义; wchar中的汉字算一个字符;因为wchar是16bit的,2的16次方=65536个情况; char和wchar之间的转化:int MultiByteToWideChar(UINT CodePage, DWORD原创 2009-10-12 08:36:00 · 1062 阅读 · 0 评论 -
程序的中写日志文件
主要涉及要点:1.定时器使用,此处用的比较简单。 程序起来后,启动一个定时器。 SetTimer(1,2000,NULL);2.获取当前程序的路径问题; BOOL CWritelogDlg::GetProPath(){ //==================================================================原创 2009-09-26 10:36:00 · 820 阅读 · 0 评论 -
VC++调试时把intermediate file 文件可以输出到回收站;
这样可以把一下不必要中间编译产生的文件,直接放到回收站;可以省去自己硬盘空间; 路径应该改为:D:/RECYCLER/S-1-5-21-796845957-606747145-725345543-1005以自己计算机实际情况为准。原创 2009-09-15 10:11:00 · 910 阅读 · 0 评论 -
一家软件公司上机面试题目c++程序员
题目:打开文本文件a.txt,文件中的每一行都有一个数学表达式,将他们运算出来,以后保存到b.txt中。如:a.txt1+2/3*4=2+1*5-6=b.txt11以上是题目要求。下面是主要代码。是通过递归的方法实现的。// diguisuanfa.cpp : Defines the entry point for the console appli原创 2009-07-04 14:54:00 · 1565 阅读 · 0 评论 -
详细介绍=====c++中的引用与指针的区别
c++中的引用与指针的区别 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 ★ 区别: 1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^转载 2009-07-05 22:16:00 · 23049 阅读 · 12 评论 -
引用和指针三大区别:
引用和指针三大区别: 1.引用必须初始化,指针不必. 2.引用初始化后不能被改变,指针可以改变所指的变量. 3.不存在指向空值的引用,但是存在指向空值的指针.原创 2009-07-05 22:14:00 · 1701 阅读 · 0 评论 -
成员函数的角度来讲述重载和覆盖的区别
从成员函数的角度来讲述重载和覆盖的区别。成员函数被重载的特征有:1) 相同的范围(在同一个类中);2) 函数名字相同;3) 参数不同;4) virtual关键字可有可无。覆盖的特征有:1) 不同的范围(分别位于派生类与基类);2) 函数名字相同;3) 参数相同;4) 基类函数必须有virtual关键字。原创 2009-07-05 21:37:00 · 614 阅读 · 0 评论 -
多线程编程
<br />一、问题的提出<br />编写一个耗时的单线程程序:<br /> 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: <br />void CSingleThreadDlg::OnSleepSixSecond() <br />{<br /> Sleep(6000); //延时6秒<br />}<br /> 编译并运行应用程原创 2010-12-20 14:15:00 · 689 阅读 · 0 评论 -
C++ 实现比较版本号
code:int iRetVersion = ComparerVersion("6.6.1512.401","6.6.1512.409");//retval: 0:相等;1: 大于此版本,-1:小于当前版本 3:其他情况;int ComparerVersion(char * version_get ,char * version){ string strversion_get = versi原创 2016-03-17 19:21:26 · 6237 阅读 · 0 评论 -
不显示界面的看护程序(看护进程)
主要是看护某个进程退出后,然后在自动启动该程序原创 2014-08-25 15:56:12 · 1578 阅读 · 0 评论 -
VC++ 获取网卡IP、DNS、适配器名称
VS2008--Unicode--bool GetPcNetInfo(){ bool bRt = true; /******************************************* *通过Iphlpapi库获取网卡信息和个数 ********************************************/ PIP_ADAPTER_INFO pIpAdap原创 2014-06-30 15:35:39 · 8545 阅读 · 0 评论 -
VC 对话框接收拖文件 控件(listctrl、edit)接收拖文件
在基于对话框的程序中,默认是没有这个消息的。 1、按下Ctrl+W,弹出类向导对话框,选择Class Info标签; 2、在Message fileter下拉列表中选择Window,然后再点击Message Maps标签; 3、这时就出现WM_DROPFILES消息了,添加该消息的响应函数。 [cpp] view原创 2014-06-30 15:03:19 · 3588 阅读 · 0 评论 -
VC++ MFC 获取文件路径 获取文件夹路径
//=文件的路径=== CString strPath = _T(""); CFileDialog Open(TRUE,_T("*.bmp"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("Bitmap Files (*.bmp)|*.bmp|JPEG Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"),NU原创 2014-06-30 15:10:30 · 13141 阅读 · 0 评论 -
高效代码审查的十个经验
代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。 1. 代码审查要求团队有良好的文化 团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。 “A的代码有个bug被B发现,所以A能力不行,B能力更好”,这一类的陷阱很容易转载 2013-07-12 16:47:32 · 709 阅读 · 0 评论 -
Directshow9.0--开发的程序在windows7下面图像显示不正常
有些游戏在XP系统下面运行正常,在windows7下面运行不正常,用兼也容模式不行。图像显示黑屏现象,出现这种现象的原因应该是系统驱动程序驱动硬件显示数据时,进行yuv变化时,出了问题。 解决问题的办法,一种是开发游戏的公司进行升级,兼容windows7系统。如果游戏的开发公司不在更新游戏的版本。 可以考虑把XP系统下面的system32下面的dll都拷贝到当前原创 2013-06-12 20:47:25 · 1224 阅读 · 1 评论 -
Visual Studio ---PHP开发的插件
Visual Studio本来就是以开放的方式开发的, 只要有适合的插件,任何语言都能被支持,比如Lua、Python、Perl等等,去年曾下载到一个Visual Studio魔兽世界插件开发的插件,无奈相关开发资料太少最终未使用过.今天发现的这个JcxSoftware出品的vs.php相信会给熟悉Visual Studio开发环境并想开发PHP的Coder们带来惊喜的.如下图,V转载 2012-02-21 10:50:20 · 2396 阅读 · 0 评论 -
IP address =>CString <=>u_long
开发环境:VS6.0 操作系统:XP2 转换:eg:CString str_temp_ip = _T("192.168.0.200");u_long = (u_long)htonl(inet_addr(str_temp_ip)); 具体例子:原创 2011-08-04 20:16:30 · 1208 阅读 · 0 评论 -
消息分流器Message Crackers
消息分流器Message Crackers<br />windows2010-04-09 20:41:24阅读36评论1 字号:大中小 订阅<br />文章作者:Bideyore[E.S.T]<br />信息来源:邪恶八进制 中国(www.EvilOctal.com)<br />对于熟悉Win API编程的同志们来说,windowsx.h这个头文件应该不会太陌生吧,这次要讲的内容就来自这个windowsx.h头文件。<br />经常能在msdn上查到这样一些函数,明明是个函数,而且模样长得和一般的api函转载 2011-04-02 09:59:00 · 763 阅读 · 0 评论 -
CPropertySheet 和 CPropertyPage (帮助文档的调用问题)
<br />在属性表中使用帮助:CPropertySheet 和 CPropertyPage CPropertySheet 类的对象表示属性表,也称为选项卡对话框。每个属性表由一个 CPropertySheet 对象和一个以上的 CPropertyPage 对象组成。属性表被框架显示为带有一组选项卡索引的窗口。用户使用这组索引选择当前页和当前选定页的某区域。 CPropertySheet 中的帮助只受 F1 键和“帮助”按钮的支持。默认情况下“帮助”按钮出现在应用程序的框架中。用户不需要进行干预。在用户为属原创 2011-04-01 14:02:00 · 1145 阅读 · 0 评论 -
C++笔试题目(林锐的 高质量程序设计指南--C++/C )
一、请填写 BOOL,float,指针变量 与“零值”比较的 if 语句。 提示:这里“零值”可以是 0,0,0,FALSE 或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if(n==0) if(n!=0) 以此类推。 请写出 BOOL flag 与“零原创 2009-07-05 17:38:00 · 1076 阅读 · 0 评论 -
输入一个字符串,将其逆序后输出。(使用C++,不建议用伪码)
void putNXString(){ cout<<"对输入的字符串倒序输出"<<endl; cout<<"请输入一串字符串:"<<endl; char szstr[100]; memset(szstr,0,sizeof(szstr)); cin.getline(szstr,100,/n);// cout<<szstr<<endl;原创 2009-07-05 16:48:00 · 2284 阅读 · 0 评论 -
C++中的const总结
const的资料 C++中const总结 一:对于基本声明 1.const int r=100; //标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域 为此文件,编译器经过类型检查后直接用100在编译时替换. 2.extend const int r=100; //将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行 初始化原创 2009-07-01 20:45:00 · 506 阅读 · 0 评论 -
开发EditPlus的“插件
开发EditPlus的“插件” 2007/12/29 EditPlus小巧稳定,比较适合编写程序,可惜EditPlus并不支持插件功能,因而给一些特殊应用造成了不便。不过,EditPlus本身提供了强大的用户工具配置功能,善于使用该功能,将可以实现类似插件的效果。比如,实现EditPlus支持MSDN查询功能的工具可以这样实现。⒈ 下载本文所附带的附件qmsdn.exe,并放到EditPl转载 2009-08-10 15:09:00 · 1629 阅读 · 0 评论 -
Visual C++ 6.0 插件系列介绍
Visual C++ 6.0 插件系列介绍 Visual C++ 插件系列介绍说到Visual C++的插件,大家可能只有想到Visual Assist吧。天真!行内开发的插件可只有这个!?下面介绍一下vc6.0的其他插件。Visual Assist(强烈推荐)网址:http://www.wholetomato.com/功能:VA从5.0一直到现在的VAX,功能越来越强大,除了以前转载 2009-08-10 13:21:00 · 2787 阅读 · 0 评论 -
wsctombs()函数介绍
1 . stdlib.h 函数原型: _CRTIMP size_t __cdecl wcstombs(char *, const wchar_t *, size_t); eg:这个是MSDN上的例子void main( void ){ int i; char *pmbbuf = (char *原创 2009-08-05 11:52:00 · 829 阅读 · 0 评论 -
A,b,c三个点采用TCP/IP连接,B负责把接收来自A端数据转发到C端。
通信软件要求(C++)。简介 : A,b,c三个点采用TCP/IP连接,B负责把接收来自A端数据转发到C端。需要200人以上同时在线。C端为OCX控件,需要与JAVASCRIPT进行交互数据,接口如下: 1、通信端口, 2、通信服务端的IP 3、与服务端的连接状态 3、当接到到来服务端的数据时需要先存起来,另一线程定时检验是否存在已经接收的数据,如果是刚解释,(可以设置线程转载 2009-08-05 14:26:00 · 1261 阅读 · 0 评论 -
list和用vector区别
stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。list就转载 2009-08-01 20:29:00 · 620 阅读 · 0 评论 -
SDK编程中窗口ID,句柄,指针三者相互转换函数
SDK编程中窗口ID,句柄,指针三者相互转换函数 SDK编程中窗口ID,句柄,指针三者相互转换函数 ID--HANDLE--HWND三者之间的互相转换 id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id); id->指针-----------CWnd::GetDlgItem(); 句柄->id------原创 2009-07-30 15:57:00 · 716 阅读 · 0 评论 -
最新版迅雷定时器下载2009-7-19
1.修改了以前版本的一些错误。2.新增加了参数保存的功能。 当本程序启动时,可以自动加载相关参数,只需要单击启动按钮。 然后最小化就可以了。3.最新软件下载地址:http://download.csdn.net/source/1501923原创 2009-07-19 11:22:00 · 686 阅读 · 0 评论 -
迅雷定时下载器 迅雷定时启动
这是我改变后的迅雷定时下载启动程序。欢迎使用。。 软件下载地址http://download.csdn.net/source/1499053原创 2009-07-18 08:18:00 · 1077 阅读 · 0 评论 -
VC++ socket iocp 代码。
现在来讲一下一个完成端口模型。 完成端口 一个完成端口其实就是一个通知队列,由操作系统把已经完成的重叠I/O请求的通知 放入其中。当某项I/O操作一旦完成,某个可以对该操作结果进行处理的工作者线程 就会收到一则通知。而套接字在被创建后,可以在任何时候与某个完成端口进行关 联。 步骤: 1、创建一个空的完成端口; 2、得到本地机器的CPU个数; 3、开启CPU*2个工作线程(又名线程池)原创 2009-07-17 23:52:00 · 2981 阅读 · 0 评论 -
Edit输入数字以及小数
Edit BoxEdit窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_原创 2008-06-27 10:48:00 · 2085 阅读 · 0 评论 -
1,2,3,4,5输出
// consoletest.cpp : Defines the entry point for the console application.//#include "stdafx.h"//cout result/* 1 1 2 1原创 2008-06-25 16:21:00 · 1349 阅读 · 0 评论 -
VC++ 下使用ADO编写数据库程序
准备:(1)、引入ADO类 #import "c:/program files/common files/system/ado/msado15.dll" /no_namespace /rename ("EOF", "adoEOF")(2)、初始化COM 在MFC中可以用AfxOleInit();非MFC环境中用: CoInitialize(NULL);CoUnInitialize();转载 2008-05-24 15:29:00 · 656 阅读 · 0 评论