C++语言
文章平均质量分 55
welleo
喜欢打羽毛球、乒乓球、游泳等。
业余喜欢书法艺术。
展开
-
注册表API函数
注册表的操作,API为我们提供了大约25个函数。他提供了对注册表的读取,写入,删除,以及打开注册表及键值时所有函数,并且可以达到对注册表的备份,连接和对远端注册表进行查看等等。注册表对整个系统十分重要,你在进行操作时,一定要先考虑清楚。这些函数有: RegCloseKey RegConnectRegistry RegCreateKey RegCreateKeyEx RegDeleteK转载 2008-01-17 12:35:00 · 819 阅读 · 0 评论 -
Design Pattern - Structural Pattern - Adapter
Console Application, based on Microsoft Visual Studio 2005 .NET, written in C++ language. #include "stdafx.h"#include using namespace std;class Adaptee{public: void SpecificRequest() { cout }}原创 2009-07-02 09:43:00 · 630 阅读 · 0 评论 -
Design Pattern - Creational Pattern - Singleton
#include "stdafx.h"#include using namespace std;class Singleton{public: static Singleton &Instance() { if (_instance == NULL) { _instance = new Singleton(); } return *_instance; }protected: Si原创 2009-07-02 11:02:00 · 429 阅读 · 0 评论 -
Design Pattern - Structural Pattern - Decorator
#include "stdafx.h"#include using namespace std;class Component{public: virtual void Operation() = 0; };class ConcreteComponent : public Component{public: virtual void Operation() { cout }};cl原创 2009-07-02 21:13:00 · 536 阅读 · 0 评论 -
Design Pattern - Structural Pattern - Proxy
#include "stdafx.h"#include using namespace std;class Subject{public: virtual void Request() = 0;};class RealSubject : public Subject{public: virtual void Request() { cout }};class Proxy : pub原创 2009-07-04 11:02:00 · 434 阅读 · 0 评论 -
解决图像刷新问题的VC++双缓冲方法
在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。 因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很转载 2009-07-03 21:48:00 · 2304 阅读 · 0 评论 -
OCX调用ATL COM的DLL的函数的方法
Condition: XGraphSpeedyHold.ocx, GraphSvcApi.dll has a DBRead() function.Purpose: XGraphSpeedyHold.ocx calls the DBRead function in IRTDB interface, in GraphSvcApi.dll, where GraphSvcApi.dll is impl原创 2009-07-08 22:28:00 · 1423 阅读 · 0 评论 -
C++中建议遗弃数组,转用STL
[Old code]LPSTR m_pPtName[100];... [New code]vector m_vecPtName; Requirements:#include using namespace std;const int PNAMELENGTH = 16; Application:LPSTR pTemp = NULL;...原创 2009-09-22 22:38:00 · 522 阅读 · 0 评论 -
使用ActiveX控件的问题和解决办法
在实时数据库管理(不是典型的Document/View结构)CDBManageDlg类中,1)如下语句:CChannelTestDlg dlg(this);dlg.DoModal(); 然而发现并未弹出ChannelTestDlg。 原因分析:ChannelTestDlg中,用到了自定义的ActiveX控件CGridCtrl,故而需要在CDBManageDlg重写的原创 2009-09-24 20:07:00 · 768 阅读 · 0 评论 -
控件自绘代码实现
响应控件的NM_CUSTOMDRAW 事件,并实现如下自绘代码: void CDBManageDlg::SelfDraw(NMHDR *pNMHDR, LRESULT *pResult, CListCtrl& ctrlList, COLORREF SelTextColor /* = RGBPUREWHITE */, COLORREF S原创 2009-10-09 16:50:00 · 627 阅读 · 0 评论 -
VC2005工程常用设置&系统环境变量设置(if necessary)
[VC2005工程常用设置]设置头文件包含路径:项目->***属性->配置属性->C/C++->常规->附加包含目录 示例:../../../SH_OPS_INCLUDE设置库文件包含路径:项目->***属性->配置属性->链接器->常规->附加库目录示例:../../../SH_COM_LIB设置库文件依赖:项目->***属性->配置属性->链接器->输入->附加依赖项示例:NetService原创 2009-10-09 16:46:00 · 1844 阅读 · 0 评论 -
VxWorks里的基础知识
服务程序:Conn.hint TestConn(struct *p); Conn.cint TestConn(struct *p){ blabla......} 客户程序:test.cvoid Test(){ struct str; TestConn(&str);}原创 2009-06-29 17:01:00 · 520 阅读 · 0 评论 -
OPS调用RTDB接口示例
const int NETERR_OK = 0;const int INVALIDITEMTYPE = -2;const int PNAMELENGTH = 12; // 点名长度const int INAMELENGTH = 2; // 项名长度struct DB_Read_Request_Head { short shPointNum; // 点数};struct DB_Read_Re原创 2009-08-20 20:09:00 · 1081 阅读 · 0 评论 -
在拷贝、删除文件时显示飞行的文件夹动画
可以很容易地调用API函数CopyFile, DeleteFile, 以及MoveFile来复制、删除、移动文件,这些功能相当容易使用,但是他们不显示飞行文件夹动画。下面是每一个API的例子。 //复制SOURCE.TXT到DEST.TXT,FALSE参数告诉windows如果文件DEST.TXT //已经存在则复制失败,CopyFile的返回值是BOOL类型 if( CopyFile("C:转载 2008-01-17 13:09:00 · 581 阅读 · 0 评论 -
如何在程序开始就隐藏模式对话框?
1. 在编辑器中把属性Visuable前的钩去掉; 2. 为对话框类增加一个布尔型变量first_time;初值设为true 3. 在OnPaint()函数的开头增加下列代码: if(first_time) { ShowWindow(SW_HIDE);转载 2008-01-17 13:21:00 · 716 阅读 · 0 评论 -
文件操作-去掉只读和删除子目录和文件
创建文件夹,保存文件的代码:szFolder为文件夹绝对路径,szPath为更新的文件 if(!PathFileExists(szFolder))//如果该文件夹不存在则创建文件夹 ::CreateDirectory(szFolder,NULL); CFileFind finder; CFile file; if (finder.FindFile(szPath))//如果此文件已存转载 2008-01-17 14:44:00 · 752 阅读 · 0 评论 -
如何检测U盘插入拔出?
windows检测到设备变更后,会给所有程序主窗口发送 WM_DEVICECHANGE 消息。BOOL CUManageAppsDlg::OnDeviceChange(UINT nEventType, DWORD dwData){ if( nEventType == 36768) //u盘插入 else if (nEventType == 327转载 2008-01-17 14:16:00 · 1170 阅读 · 0 评论 -
浏览目录对话框
#define NO_WIN32_LEAN_AND_MEAN #include "shlobj.h" char szDir[MAX_PATH]; memset(szDir,0,MAX_PATH); BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = Handle; bi.转载 2008-01-17 14:24:00 · 563 阅读 · 0 评论 -
一些工具函数(Need MFC Support)
#include "stdafx.h"#include "NTHelper.h"#include #ifdef _UNICODE#include "afxpriv.h"#endif#include "atlbase.h"-系统信息OSTYPE CNTHelper::GetOSType(){OSVERSIONINFO vinfo;vinfo.dwOSVersionInfoSize = si转载 2008-01-17 14:32:00 · 732 阅读 · 0 评论 -
内存泄漏检测
这篇文章是对2004-09-02日发表的《VC++6.0中简单的内存泄漏检测事例代码》(已经删除)的更新.对C++代码而言,内存泄漏问题虽然有诸多方法避免,但实际代码编写的时候,或出于自信或出于复杂性的考虑,常常还会用到原始的operator new,这不可避免的会带来内存泄漏的可能,不久前本人因为违反了"可用于被多态继承的基类其析构函数应当有virtual修饰"的法则( 一不小心就忘了写virt转载 2008-01-21 09:06:00 · 444 阅读 · 0 评论 -
MFCGridCtrl控件的使用
1.将该控件涉及的.cpp(6个)和.h(8个)文件加入工程2.从工具箱中拖入Custom Control,右击该控件属性,将Class项设置为MFCGridCtrl3.在工程头文件中,#include "GridCtrl.h",且定义变量CGridCtrl m_ctrlGrid;4.在工程定义文件中,在DoDataExchange函数,添加DDX_GridControl(pDX, IDC_CUS原创 2009-07-14 11:45:00 · 6031 阅读 · 3 评论 -
Use of CMonthCalCtrl
CMonthCalCtrl m_ctlMonthCal; CMonthCalCtrl::GetCurSelFunction: Retrieves the system time as indicated by the currently-selected dateSample:SYSTEMTIME sTime;m_ctlMonthCal.GetCurSel(&sTime);原创 2009-07-21 20:10:00 · 736 阅读 · 0 评论 -
BoundsChecker简易使用教程
BoundsChecker是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。 BoundsChecker能检测的错误包括: 1)指针操作和内存、资源泄露错误,比如:内存泄露;资源泄露;对指针变量的错误操作。 2)内存操作方面的错误,比如:内存读、写溢出;使用未初始化的内存。 3)API函数使用错误。 使用BoundsChecker对程序的运行时错误进行转载 2009-07-27 21:42:00 · 1144 阅读 · 0 评论 -
Steps of Using CxImage
Assumption: project built in debug version Steps:1. Build an empty workspace.2. Insert CxImage project, jpeg project etc. into the workspace.3. Add new project to workspace, for example, named d原创 2009-07-28 08:47:00 · 451 阅读 · 0 评论 -
DLL注册失败
Q:编译器编译链接信息: 1>正在生成代码...1>正在编译...1>DataServiceDriver_i.c1>正在编译资源...1>正在编译资源清单...1>正在链接...1> 正在创建库 ../../../SH_OPS_OUTPUT/DataServiceDriver.lib 和对象 ../../../SH_OPS_OUTPUT/DataServiceDriver.exp1>正在嵌原创 2009-11-26 13:57:00 · 700 阅读 · 0 评论