自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(41)
  • 收藏
  • 关注

原创 2015-07-31:一个最简单的HTML网页

一个最简单的HTML网页

2015-07-31 11:07:23 1887

原创 2015-07-23 : VC开发,常用的加载图像的办法

2015-07-23 : VC开发,常用的加载图像的办法

2015-07-23 11:10:22 736

转载 不明错误'CAsyncSocket' : base class undefined

添加类Listen父类为CAsyncSocket 然后运行提示错误'CAsyncSocket' : base class undefined在stdafx.h里面加上afxsock.h就可以了。

2013-04-18 08:59:50 1005

转载 2013-03-13 关于标准库中map的erase()方法

STL的map表里有一个erase方法用来从一个map中删除掉指令的节点eg:map mapTest;typedef map::iterator ITER;ITER iter=mapTest.find(key);mapTest.erase(iter);像上面这样只是删除单个节点,map的形为不会出现任务问题,但是当在一个循环里用的时候,往往会被误用,那是因为使用者没有正

2013-03-13 20:59:13 1471

原创 vc中__super的用法

熟悉代码的时候,发现底层的业务类中有这么一行代码:__super::Close();查阅了MSDN之后发现,__super的意思就是:调用基类的Close()函数实现,以后再遇到这种写法,就知道怎样理解了

2013-03-12 20:55:23 4323 2

原创 c++中字符串比较随笔

工作中遇到的小问题,写成随笔 问题描述:(1)//工作站typedef struct{ char chWorkstationName[11];//工作站名 char chIP[16];//IP地址 char chAE[16];//AE名 char chUsedPrinter[41];//使用打印机 char chOcrFlag[40];//是否使用Ocr设置} WO

2013-03-11 16:45:31 5021

转载 怎样在windows中正确的使用PeekMessage

HOWTO: How to Use PeekMessage() Correctly in WindowsSUMMARYIn the Windows environment, many applications use aPeekMessage() loop to perform background processing. Such applications must allow the

2013-01-31 16:13:42 739

原创 SetTimer的时间间隔做多可以设置成多大?

MSDN这样描述:UINT_PTR SetTimer(          HWND hWnd,    UINT_PTR nIDEvent,    UINT uElapse,    TIMERPROC lpTimerFunc);...uElapse[in] Specifies the time-out value, in milliseconds.Windows NT/200

2013-01-31 10:41:56 3569

原创 有关于回调函数(callback)

(1)回调函数定义为一个全局函数,不能定义在头文件里作为一个成员函数(2)有时为了方便,在封装类的时候,只封装了头文件而没有使用源文件,在此时想要在头文件中使用回调函数,只需要将回调函数的定义放在头文件的类定义之前(或者之外)就可以了

2013-01-28 22:36:20 542

原创 关于auto_ptr使用的一些随感

目前,auto_ptr在程序中使用的越来越多了,在这里就不对其使用进行详述了,针对自己最近使用的情况在容易出问题的地方做一下说明: if (m_CurrentJob.Tasks.size() > 0) { std::auto_ptr pJob(new PrintJob(m_CurrentJob)); BOOL bSucceeded = PostThreadMessage(d

2013-01-27 22:13:21 500

转载 Windows Server 2008 R2 简体中文版 显示中文乱码

问题:我安装的就是简体中文的Ws2008R2 标准版,已激活。Windows 系统本身的中文没有问题,在运行带有中文的其他软件的时候,这些软件中的中文字是乱码,怎么回事情?如何解决解决方法:你操作系统的“区域语言”没设置对,控制面板→区域和语言→“管理”选项卡里面的“非Unicode的程序语言”  改成“中文(简体、中国)”

2013-01-21 16:35:21 18207

原创 有关于C语言的一些实用总结 (谭书版)

1.引言作为天朝的软件工程专业的大学生,我大学时的经历和大多数的其他同学大都一样,逃课、打游戏是家常便饭,所以毕业快两年了,依然对最初的C语言有些部分不清不楚,对于现在的C++应用也造成了一定的困惑。最近痛定思痛,决定重新拜读一下谭老爷子的大作(本人不才,虽然知道谭老师的书并不是C的标准,有好多地方值得商榷,但是从实用性上来讲,还比较适合我这个菜鸟学习),将经常用到和易混淆的东西列出来,供大家

2013-01-17 14:49:31 1091

原创 将Control List中的数据导入类Excel的表格中,(使用了.csv文件)

1.将一个图(1)所示的列表中的数据导入一个类Excel的表格中,供医生观看,最终结果用Excel打开,如图(2)图(1)图(2) 2.解决思路(1)如果用vc将列表中的数据导入Excel的话,需要用ADO连接Excel,并且将数据写入Excle中,比较麻烦。(2).csv格式的文件是一种比较特殊的文件,是将字符串用逗号‘,’分隔的一种文件,可以用文本文件打开,也可

2013-01-16 11:05:03 5872 1

原创 孙鑫vc++ 8 对话框(2) 属性表单和向导的创建

一、基础知识1.实现属性表和标签页的类(1)CPropertySheet类(表示属性表)和CPropertyPage类(表示某一标签页)2.实现的步骤(1)实现一个从CPropertySheet类派生出来的类(2)实现几个从CPropertyPage类派生出来的类,和对应的PROPAGE资源相关联(3)在CPropertySheet类中添加CPropertyPage类的对象

2013-01-11 14:34:06 1747

原创 孙鑫vc++ 8 对话框(2) 逃跑按钮的实现

1、实现此效果的几个关键点(1)从CButton类派生出一个类CWcButton,目的是为了在派生的类中添加指针变量 CWcButton* pBtn(2)在对话框类中实现对两个按钮对象指针的赋值,保证可以随时显示和隐藏按钮(3)在CWcButton类中重载OnMouseMove函数(3)在对话框的属性中修改font,即可以修改整个对话框中的字体2、代码分析//添加指针变量

2013-01-09 21:03:58 1089

原创 孙鑫vc++ 17 进程间通信(4) 邮槽

一、基础知识(1)邮槽是根据广播通信体系设计出来的,它采用无连接的不可靠的数据传输。(2)邮槽采用一种单向通信机制,创建邮槽的服务器进程读取数据,打开邮槽的客户端进程写入数据。(3)为保证邮槽在各种windows平台上都能正常工作,我们在传输消息时,应将消息的长度限制在424字节一下。(4)利用邮槽可以建立一个简单的会议通知模型,会议发起者使用客户端,会议接收者使用服务器端即可

2013-01-08 14:22:34 878

原创 孙鑫vc++ 17 进程间通信(3) 命名管道

一、基础知识1.命名管道(1)命名管道是围绕Windows文件系统设计的一种机制,采用“‘命名管道文件系统’(Named Pipe File System,NPFS)“接口(2)命名管道通过网络来完成进程间的通信,它屏蔽了底层的网络协议细节;命名管道不仅可以在本机上实现两个进程间的通信,还可以跨网络实现两个进程间的通信(3)命名管道分为客户端和服务器,两者的区别在于:服务器是唯一有

2013-01-07 13:51:49 3809

原创 孙鑫vc++ 7 对话框(1)

对话框基础(1)种类:模态对话框、非模态对话库(2)创建模态对话框:CTestDlg dlg;dlg.DoModal();非模态对话框:CTestDlg dlg; dlg.Create(IDD_DIALOG1,this);dlg.ShowWindow(SW_SHOW);CTestDlg* pDlg;pDlg->Create(IDD_DIALOG1,thi

2012-12-25 22:00:59 1199

原创 对话框的按键处理 PreTranslateMessage、OnKeyDown和OnChar

1、MFC对话框不能响应OnKeyDown和OnChar函数(1)现象  在MFC的对话框中,映射了WM_CHAR   和WM_KEYDOWN   消息后,但是对话框不能响应OnKeyDown和OnChar函数(2)原因  因为MFC在进行设计的时候,这两个消息被对话框上的控件截获了,不能到达这两个消息响应函数,对于OnKeyDown来说,只要把对话框上的控件都删除了,就可以接收到

2012-12-10 23:19:41 6105 5

原创 孙鑫vc++ 17 进程间通信(2) 匿名管道

一、基础知识1.匿名管道匿名管道是一个未命名的、单向管道,通常用来在一个父进程和一个子进程之间传输数据。匿名管道只能实现本地机器上两个进程间的通信,而不能实现跨网络的通信。二、从代码进行分析1.父进程//管道的创建void CParentView::OnPipeCreate(){ // TODO: Add your command handler code here

2012-12-06 13:38:09 2519

转载 网络磁盘映射的几种简单方法

为了提高局域网中信息共享的效率,不少朋友都喜欢将经常要访问的共享文件夹映射成本地的一个网络磁盘;让人感到遗憾的是,每次注销系统或重启系统后,先前创建好的网络映射就会自动断开,以后还需要人工创建新的网络映射。那我们能不能开动脑筋,让系统每次在注销或重新启动之后,就能自动建立网络映射呢?答案是肯定的,本文特意从三种方法着手,来为指定共享文件夹自动创建网络映射! 如何解决网络磁盘映射问题做一个B

2012-12-03 20:28:26 62858 1

原创 孙鑫vc++ 17 进程间通信(1)剪贴板

1.进程间通信方式(1)剪贴板(2)匿名管道(3)命名管道(4)邮槽 2.剪贴板代码void CClipboardDlg::OnBnClickedBtnSend(){ // TODO: Add your control notification handler code here UpdateData(TRUE); //(1)打开

2012-12-01 17:13:50 964

原创 孙鑫vc++ 14 Socket

一、套接字类型1.流式套接字(基于TCP协议)2.数据报套接字(基于UDP协议)3.原始套接字(一般不常用)二、网络字节序不同的计算机存放字节的顺序不同,基于Intel的CPU,即我们常用的PC机采用的是低位先存。为了确保数据的正确性,在网络协议中需要指定网络字节顺序,TCP/IP协议使用16位整数和32位整数的高位先存格式。在网络中不同的主机进行通信的时候,要采用统一的网络字

2012-11-22 14:07:53 2234

原创 孙鑫vc++ 15 (1)多线程与命名互斥

一、概念1.进程(由两部分组成):内核对象:操作系统通过访问内核对象,对进程进行管理地址空间:包含代码,数据,动态分配的内存空间,比如堆、栈分配的空间进程不执行任何东西,它只是作为线程的容器,由线程完成代码的执行2.主线程(由进程创建)主线程的入口:main或者WinMain函数进程中的其他线程都是由主线程创建3.pagefile.sys 页文件虚拟内存:在磁盘

2012-11-01 15:10:05 2124

原创 在批处理中使用ping命令,一个小例子进行分析

照例先说明一下我的问题:为公司开发的一个服务器,用vc编写,其中利用ado对oracle进行访问(每一次有客户端访问服务器的时候就对oracle数据库进行一次update的操作),最近发现了一些问题,就是服务器用着用着,就偶尔发生ORA-03135: connection lost contact和ORA-03114: not connected to ORACLE的错误,初步猜测可能有两个原因,

2012-10-30 14:11:05 15022

原创 在win7和win8中编译服务报错:错误error PRJ0019

错误error PRJ0019: A tool returned an error code from "Performing registration"(执行注册)PrinterServer解决:在win7和win8中,windows默认的用户都是非管理员用户,这种用户是没有安装软件的权限的,PrinterServer(服务器)想要注册成功,则必须要已管理员身份启动vs2008,这样,就

2012-10-29 17:15:37 1821

原创 GetPrivateProfileString函数的用法

::GetPrivateProfileString("胶片数据库网络映射", "服务器磁盘路径", "",strDiskPath.GetBuffer(200), 200, ".\\User.ini");最后一个参数,要求是完整的INI文件名User.ini应该放在哪里?要放在与应用程序相同的目录下应该用.\\User.ini,但有的时候我们发现找不到这个INI文件原因是VC调试的时候,

2012-10-29 17:12:19 2047

原创 vc利用ado进行多线程的数据库访问

先描述一下我的问题           公司开发一套新的打印服务,其中有多个线程可能同时对数据库进行访问,开始的时候用的是一个数据库连接,但是在多个线程同时访问的时候会报数据库异步访问和一些com异常,之后查阅了一些资料,发现在利用ado在进行多线程的数据库访问的时候,最好每个线程对应一个数据库连接,为了方便对这些链接进行管理,自己写了一个数据库连接池,将源码放到这里和大家分享,共同进步,希望

2012-10-21 22:41:07 4452

原创 交叉引用和extern的使用

首先阐明一点,交叉引用和extern的使用之间并没有必然的联系,只是我在解决一个问题的时候,引出了这两个问题,所以一起分析一下 阐明一下我的问题:有三个文件:(1)StdAfx.h   文件中定义了CServiceModule这个类,还有extern CServiceModule _Module的声明,同时在此类中还有一个PrintJobQueue的对象;#include 'P

2012-10-18 19:16:32 756

转载 MFC 消息类型

1、命令消息(WM_COMMAND)所有派生自 CCmdTarget 的类都有资格接受WM_COMMAND。2、Window消息(WM_xxx)所有派生自 CWnd 的类都有资格接受 WM_xxx。3、控件消息(WM_NOTIFY)控件向其父窗口通知消息。三、消息处理1、WM_xxx 消息处理窗口类(自身)处理→基类处理→CWnd∷DefWindowPr

2012-02-07 17:20:19 333

原创 关于STL的迭代器

进公司了之后接了一个服务器的半成品,要求进行改造之后使用,大致的看了一下代码,发现其中大量的使用了迭代器iterator,以前在使用MFC的时候接触过Position的用法,现在已经记得不是很清楚了,而iterator的使用还是第一回接触到,于是上网搜索了一下,刚好发现在csdn上面有相关的文章,就大致的看了一下,很好,大致的了解了iterator的用法#include #incl

2012-01-16 17:31:21 377

转载 CMakeup应用中的错误,此方法能用,已经验证,谢谢这位大哥!!!

在做一个Ocx组件的项目时,需要解析Xml文件,但是死活编译不过去了,之前一直用得好好的,现在忽然用不了了,把我这个急呀。最后没辙了,只好换用其他方案了。暂时解决了麻烦,但是以后肯定还会遇到呀,没办法。我再试试看吧。其实问题主要出在这个地方:error C2065: “CStringData”: 未声明的标识符咋一看,不就是少引用了一个文件吗,把他加上不就完了吗。但实际上加进去了页

2012-01-14 11:17:46 2107 2

原创 追求技术的完美还是满足客户需求即可

上次谈到将图像显示在对话框的相应的控件中的时候,谈到了BitBlt和StretchBlt两种函数的使用,今天通过一定的算法将图像显示在了控件中,但是图像有一些失真,继续深入研究的时候涉及到了一个问题,要想将图像显示的更好,就要研究算法,这个问题是个需要时间进行研究的问题,项目经理是不会给这个时间的,但是对于搞技术的人来说,有些时候觉得没有达到自己心里的效果就不舒服,总想着达到自己想要的那种完美的效

2012-01-13 16:43:57 615

原创 BitBlt函数和StretchBlt函数的使用

自己写了一个DrawImg函数/******************************************************************* 函数名: DrawImg** 输入:   ***** 输出: 无 ** 功能描述:   将结构体中的bmp图像贴到**对话框的picture control控件中** 全局变量:无** 调用模块:**

2012-01-12 16:14:52 9174

转载 RegSvr32 LoadLibrary("E:\.............") 失败 - 内存分配访问无效(第18章 ActiveX控件)

近日发现VC6.0,用向导创建MFC ActiveX ControlWizard,直接生成的ocx是注册不了的(所用的系统是XP),如果用regsvr32命令注册该ocx,则弹出LoadLibrary("****.ocx")失败 - 内存分配访问无效 的提示。网上也有人遇到同样问题,不过没有完整的解决方案,我就把自己的解决方式贴出来。用向导创建MFC ActiveX ControlWizard

2012-01-11 17:11:55 8638 1

原创 业务函数和系统函数的区别

今天需要新写一个函数用于在对话框上显示bmp图像,在显示图像之前需要将对话框的背景刷黑,之前利用工具箱中的一个picture control控件,在对话框类中的OnPaint()函数中利用画刷将控件区域刷黑,之后就需要在这个黑区域上面显示bmp图像了,纠结了一天,屡不清楚到底应该在OnPaint()函数中显示bmp图像合适还是再写一个函数来显示bmp图像合适,后来参看了公司以前的产品发现了一个规律

2012-01-11 10:07:19 845

原创 将dlg中的picture control刷黑

代码如下:void CPrintDlg::OnPaint(){CPaintDC dc(this); // device context for painting// TODO: 在此处添加消息处理程序代码// 不为绘图消息调用 CDialog::OnPaint()CWnd* pWnd = this->GetDlgItem(IDC_STATIC); //IDC_STATIC为

2012-01-09 19:20:30 835

转载 Visual Studio 2010显示代码行号

默认的Visual Studio 2008(VS2008)或VS2010代码编辑器是不显示行号的,这给我们定位代码带来了麻烦,下面简单介绍一下如何显示代码行号。依次选择工具,选项,然后选择要显示行号的语言,比如说这里选择C#,然后勾选“显示”下面的“行号”复选框,然后确认即可。END

2012-01-09 14:02:43 2235

原创 导致我重装系统的一句英文

Program will patch both ( or any of them, if another does not exist or was patched) VA_X.dll in directory where itwas installed and the VS2010 DLL of current user.Note: Because Visual Studio 2010

2012-01-06 15:33:35 636

转载 Visual C++中error spawning cl.exe 错误解决方法

大多数情况下都是vc安装的问题 试试下面的方法吧:(转的) Compiling... Error spawning cl.exe 3-6.exe - 1 error(s), 0 warning(s) 可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷

2012-01-05 20:27:20 1375

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除