VC++6.0开发资料库
PerfectToday
不管做什么事情,都应该将心态回归于零:抱着学习的态度,将每一次任务视为一个新的开始一段新的体验一扇通往成功的智慧之门.
展开
-
error C2065: 'DEBUG_NEW' : undeclared identifier?
删除 .cpp 文件中的#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endif原创 2009-07-15 10:41:00 · 4783 阅读 · 0 评论 -
关于SetTimer连续开多个ID一样的消息事件的疑惑及相关问题
问题一、一直搞不太清楚这个问题,今天索性自己写个小程序试试!结论:SetTimer相同标识的事件,仅最后一次设置生效。原创 2009-11-10 14:26:00 · 1385 阅读 · 0 评论 -
代码编写中关于文件/函数注释的统一格式
规范自己的代码习惯,特别是注释习惯,另外对于大函数内部的重要功能也要给予注释一、私有文件注释 ///////////////////////////////////////////////////////////////////////////////// ※ ShuaiLI Share Memory Communication DLL ※//////原创 2009-11-16 09:43:00 · 1026 阅读 · 0 评论 -
什么是高级C++?——软件工业化时代的C++价值观
什么是高级C++?——软件工业化时代的C++价值观开门见山 主要论点: 1. C++本质上是一种重“创新”而轻“生产”的语言,到目前为止仍然是主流语言中最适合技术创新的一个; 2. 1995年之前,整个软件产业处于“创新为王”的阶段,C++是最适合这个阶段的语言,这是C++红极一时的大背景和根本原因。 3. 1995年发生了一系列影响深远的事件,软件产业整体上转向工业化,为了支持转载 2010-01-05 14:12:00 · 732 阅读 · 0 评论 -
c/c++软件开发的注意事项
<br />c/c++软件开发的注意事项<br />第一部分软件编程的时间分配概况<br /> 高效率的程序员并不是敲键盘的速度比别人快,而是他有着良好的编程习惯,节省了别人浪费的时间。因此,要想提高自己的编程效率,根本在于怎么少浪费时间。只要能把别人浪费的时间节省下来,你的效率就可以快过别人,甚至数倍于别人。要想节省时间,当然首先需要明白编程中耗费时间的分配情况。<br />程序员软件开发的几个阶段:<br /> 1、分析设计,<br /> 分析设计的前提是充分理解需求说明文档,然后分析如何实转载 2010-08-01 14:22:00 · 882 阅读 · 0 评论 -
VC6.0开发时工程文件路径中含有“(/)”之类的字符,无法DEBUG断点调试
<br />VC6.0开发时工程文件路径中含有“(/)”之类的字符,无法DEBUG断点调试,绝吧。原创 2010-12-02 14:43:00 · 791 阅读 · 0 评论 -
安装VC6.0时,提示“ ... ...valec.exe....”无法成功安装解决办法
<br />Setup was unable to create a DCOM user account in order to register <path>/valec.exe <br />安装时,可以改变安装选项,即删除“Visual Studio Analyzer ”,它是Visual Studio Enterprise Edition 6.0 版中包含的产品之一。本人发生该问题的主要原因可能是:我升级了SDK,The Microsoft® Platform Software Development原创 2010-12-02 14:49:00 · 3260 阅读 · 0 评论 -
_beginthreadex 实践小结
问题1、_beginthreadex创建线程时,返回:0:参数不对,导致说明:1参,线程的安全等级,经常使用NULL2参,线程的堆栈空间大小,如果为0,使用和调用进程相同的空间,经常使用03参,线程函数的起始地址,这个是我们线程任务的处理中心4参,线程函数的参数,与一般的函数参数类似,如果需要传入多个参数,可以使用结构5参,线程的起始状态,0 == 立即执行, CREA原创 2009-10-19 17:08:00 · 893 阅读 · 0 评论 -
COM接口应用和引起的User breakpoint called from code at 0x7c92120e
COM接口应用和引起的User breakpoint called from code at 0x7c92120e第一:在一个基类中,我定义了一个接口ISelf,使用过程中通过其它接口的某个函数返回了ISelf接口;释放时,我调用.Release();第二:最近系统引原创 2011-09-14 14:02:32 · 1606 阅读 · 0 评论 -
VC6.0 EXE程序和其DLL共同调试,解决DLL的相关错误
第一:EXE程序和DLL程序工程文件都已打开第二:EXE程序的工程目录下要存放DLL工程DEUBG目录下的最新DLL第三:目前只在DLL出错时,我在EXE工程调试时才能得到DLL出错源代码行原创 2011-09-16 16:12:15 · 826 阅读 · 0 评论 -
FindWindow(NULL,_T("加载监视器"));和Error: CWinThread.../...0xC0000005: Access Violation.走一起了,呵呵
第一:在线程内核函数的某一个子操作函数中,调用了:HWND hwndJZJSQ = FindWindow(NULL,_T("加载监视器")); if( IsWindow(hwndJZJSQ) ) PostMessage(hwndJZJSQ, WM_CLOSE, 0, 0原创 2011-09-16 15:41:57 · 1662 阅读 · 0 评论 -
Sleep(1); 在线程调度中发挥的微妙作用
//第一步:交付线程处理实时消息MONITORMSG msg;memset(msg.MSG, '\0', 56);sprintf(msg.MSG, "%s", "释放完毕。");((CDCMSMainApp*)AfxGetApp())->m_pThreadLoadCfg->PostThreadMessage(WM_LOADCFG_MONITOR_LIVEMSG, (WPARAM)&原创 2013-02-19 15:25:06 · 1363 阅读 · 0 评论 -
VC++6.0如何将一个工程中的对话框资源复制到另一个工程
VC++6.0如何将一个工程中的对话框资源复制到另一个工程 第一步:打开源工程,切换到资源视图(ResourceView),选中要复制的对话框或菜单资源ID,如:本例中选中对话框资源“IDD_FIND_DLG”,按Ctrl+C或点击Edit菜单选择Copy项。第二步:点击文件(File)菜单,选择关闭工作区(Close Workspace),从而关闭源工程。 第三步原创 2013-09-04 14:41:36 · 7876 阅读 · 0 评论 -
GetMenuState 返回3(或者1时),往往是这个菜单不可用导致的
if( AfxGetMainWnd()->GetMenu()->GetMenuState(ID_OP_STARTPR, MF_BYCOMMAND)== MF_UNCHECKED )当在菜单项的Update消息处理中,人为指定了不可用。即 “ ID_OP_STARTPR ” 菜单项不可用时,而我们在执行相应的工具栏(对应ID_OP_STARTPR菜单项)按钮,使用到上述的语句是永远得不到原创 2015-02-28 14:42:35 · 1104 阅读 · 0 评论 -
VC++ 句柄要及时关闭否则经常性调用句柄会持续增加
1、OpenProcess返回值一定要及时关闭CloseHandle。原创 2015-07-09 14:47:02 · 2052 阅读 · 0 评论 -
线程函数中的某段代码,总是抛出异常,不解?
CString strNewData,strOldData;CString strNewData2,strOldData2;try { strNewData.Format(“%g”, pMain->m_CPRKManager.m_chPRKRecogBuffer2[pMain->m_CSysConfigInfo.m_ulDCCheck1]); if( str原创 2015-07-10 11:46:49 · 744 阅读 · 0 评论 -
结构中包含CString成员,请你不要memset初始化!
第一节:下面是结构定义:typedef struct tagLOCALDATAFILE{ bool bYear; bool bMonth; long lDataCycle; CString strDataPath; CString strFolderName; CString strFileFormat;原创 2009-11-10 13:09:00 · 1479 阅读 · 0 评论 -
妥善处理好代码书写过程中关于路径中分隔符“/”的方方面面
妥善处理好代码书写过程中关于路径中分隔符“/”的方方面面一、GetCurrentDirectory得到当前目录,并生成心意的全路径char chCurPath[MAX_PATH] = {0};::GetCurrentDirectory(MAX_PATH, (LPTSTR)chCurPath);注意:如果获取的路径是根目录的话,例:C:/ ,D:/ ,A:/ ,那么我们在生成全路径时原创 2009-11-11 08:40:00 · 1023 阅读 · 0 评论 -
初始化操作小结
第一:memset和ZeroMemory简述 ZeroMemory 在 winbase.h 中定义: #define ZeroMemory RtlZeroMemory,而RtlZeroMemory在 winnt.h 定义是:#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))原创 2009-08-03 10:16:00 · 600 阅读 · 0 评论 -
C运算符记忆口诀
C运算符记忆口诀括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六;//移位运算符:> ,关系:> = 等等于(与)不等排第七; //即== !=位与异或和位或; //这几个都是位运算: 位与(&转载 2009-07-31 14:03:00 · 748 阅读 · 0 评论 -
RGB颜色表
转载 2009-07-31 14:11:00 · 452 阅读 · 0 评论 -
VS6.0关于网卡管理的大杂烩之一
第一:应用 Netbios 函数获取网卡地址(NetAPI32.Lib)应用心得:XP2MS XP Professional 2002 XP2集成网卡Intel(R) PRO/100 VE Network ConnectionPCI网卡均可使用Realtek RTL8139 Family PCI Fast Ethernet NIC#include "nb30.h"原创 2009-08-03 09:34:00 · 644 阅读 · 0 评论 -
DLL共享数据段,实现多进程数据共享总结
前段时间一直用WM_COPYDATA消息实现进程数据通信,这次软件升级想学习一下,DLL共享数据段应用,因为这个比共享内存简单一些,向VCKBASE前辈请教了很多,最后明白了下面的点滴问题简述假想通过DLL实现进程数据共享?实现第一步:在DLL的.CPP文件中定义共享数据段#pragma data_seg("SHARED_OPCDATASET")/* volatil原创 2009-08-19 13:43:00 · 6971 阅读 · 0 评论 -
需要DLL函数输出的结果信息,尽量使用传入参数做为输出变量~!
另外,使用指针时养成赋值为NULL的好习惯~!原创 2009-08-18 12:49:00 · 801 阅读 · 0 评论 -
VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl(); 问题总结
VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl();问题总结第一步:将XView类的继承类从CView全部替换成CListView,新建工程有9处需要替换第二步:在Stdafx.h中加入头文件 #include 第三步:重载CView类的虚函数 OnInitialUpdate 在其中添加下述你需要的实际相关代码即可,如:/原创 2009-08-21 07:51:00 · 1585 阅读 · 0 评论 -
在VS6.0工程中创建系统状态栏图标显示?
在VS6.0工程中创建系统状态栏图标显示?第一步:创建自定义消息a、在CMainFrame类的 .cpp文件中定义消息名称 #define WM_TRAY WM_USER + 103b、在CMainFrame类的 .cpp 文件中声明消息映射BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMain原创 2009-08-21 09:18:00 · 1093 阅读 · 0 评论 -
为什么向VS6.0拖放 .dsp工程文件时,系统提示:
原创 2009-08-21 07:41:00 · 817 阅读 · 0 评论 -
如何将VS6.0单文档工程中的任务栏设置上自己需要的信息显示?
如何将VS6.0单文档工程中的任务栏设置上自己需要的信息显示?第一步:首先在CMainFrame类的 .cpp 文件中找到static UINT indicators[] ={ ID_SEPARATOR, // status line indicator ID_INDICATOR_CAPS, ID_INDICATOR_NUM原创 2009-08-21 08:46:00 · 1132 阅读 · 0 评论 -
VS6.0文档视图框架程序中CHECKED选项代码操作小结
第一步:在菜单的关联函数中,判断是否选中及相关处理void CDCMS3000MainView::OnMenuAutoRun() { // TODO: Add your command handler code here if( AfxGetMainWnd()->GetMenu()->GetMenuState(ID_MENU_AUTORUN, MF_BYCOMMA原创 2009-08-25 09:38:00 · 768 阅读 · 0 评论 -
About SERVICE_TABLE_ENTRY
The SERVICE_TABLE_ENTRY structure is used by the StartServiceCtrlDispatcher function to specify the ServiceMain function for a service that can run in the calling process. typedef struct _SERVICE_转载 2009-07-01 09:08:00 · 2145 阅读 · 0 评论 -
VC6.0中常见的条件编译命令(#ifdef ... #else ... #endif)---指示编译器谁该参与编译
VC6.0中常见的条件编译命令(#ifdef ... #else ... #endif)---指示编译器谁该参与编译编程时常见的应用点(1):防止头文件被重复编译#ifndef _LS_DLLAPI_INCLUDE_#define _LS_DLLAPI_INCLUDE_//……#endif 应用点(2): 常见应用格式#ifndef / #if原创 2009-07-06 11:00:00 · 1480 阅读 · 0 评论 -
孙鑫关于DLL(Dynamic Link Library)动态链接库的视频讲座笔记和学习小结
孙鑫关于DLL(Dynamic Link Library)动态链接库的视频讲座笔记和学习小结听课时间:2009年9月20日整理日期:2009年9月21日一、使用DLL的优点①、多种语言编写(Visual Studio 6.0,Delphi 2008等)代码提供者可以选择自己熟悉的语言开发DLL功能封装模块项目工程可以由熟练掌握不同开发环境的工程师参与进来②、有利于增强产原创 2009-09-21 14:47:00 · 3026 阅读 · 0 评论 -
Sleep魅力的应用
一、写DLL时,socket::connect连接之后,马上socket::send,此时连接成功,发送的消息,服务器却收不到?析:查了老半天的原因,把防火墙和360关掉之后,唉,突然可以了!难道是它们引起的?再试一次,又不行了!无奈之下,细细寻思了一下,前些日子,DLL提供了外部导出函数有:Init、Create、Connect、Send等,这次仅去掉了Create,并将其的实现加入到Con原创 2009-10-22 08:38:00 · 671 阅读 · 0 评论 -
gethostbyaddr ip到名字,gethostbyname名字到ip依赖于hosts、DNS服务器
1)在dns中注册此连接的地址 被查询机机?2)etc\hosts 查询机3)首先访问hosts,其次访问DNS原创 2015-09-08 07:37:04 · 1179 阅读 · 0 评论