
VC++
文章平均质量分 76
wokagoka
喜欢听歌、打球、看书!~
展开
-
_variant_t ,_bstr_t 与 CString 类有什么区别
读者层次:初学int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串 短整型(int)itoa(i,temp,10);//转载 2005-05-23 13:51:00 · 4633 阅读 · 2 评论 -
利用DirectSound实现声卡录音【老毕改版】【Part3】
//-------------------------------------------------------------------------------------- // File: WaveFile.h // // Copyright (c) Microsoft Corporation. All rights reserved. //-------------原创 2009-01-06 09:38:00 · 1787 阅读 · 0 评论 -
利用DirectSound实现声卡录音【老毕改版】【Part2】
请接着利用DirectSound实现声卡录音【老毕改版】【Part1】 继续! /*CSoundPlay.h*/#pragma once #include "isound.h" class CSoundPlay : public ISound{public: CSoundPlay(void); ~CSoundPlay(void)原创 2009-01-06 09:34:00 · 1813 阅读 · 0 评论 -
利用DirectSound实现声卡录音【老毕改版】【Part4】
/*录音*/CSoundRecord m_SoundRec;m_SoundRec.SetFile("D://MyWav.wav");if(!m_SoundRec.Record()){ AfxMessageBox(_T("开始录制声音失败!"));}………………………………………………………………………………/*播放*/CSoundPlay m_So原创 2009-01-06 09:41:00 · 1662 阅读 · 3 评论 -
CFormView最大化显示!
void CChildFrame::ActivateFrame(int nCmdShow){ if(GetParent()->GetWindow(GW_CHILD) == this) { nCmdShow = SW_SHOWMAXIMIZED; } CMDIChildWnd::ActivateFrame(nCmdSho原创 2008-07-04 20:07:00 · 1483 阅读 · 5 评论 -
利用boost::asio实现一个简单的服务器框架
boost::asio是一个高性能的网络开发库,Windows下使用IOCP,Linux下使用epoll。与ACE不同的是,它并没有提供一个网络框架,而是采取组件的方式来提供应用接口。但是对于常见的情况,采用一个好用的框架还是能够简化开发过程,特别是asio的各个异步接口的用法都相当类似。 受到 SP Server 框架的影响,我使用asio大致实现了一个多线程的半异步半同步服务器框架,以下是转载 2008-09-10 17:11:00 · 1524 阅读 · 0 评论 -
asio学习3: 异步tcp服务器端(datetime)
#include ctime>#include iostream>#include boost/bind.hpp>#include boost/shared_ptr.hpp>#include boost/enable_shared_from_this.hpp>#include boost/asio.hpp>using boost::asio::ip::tcp;std::string make_转载 2008-09-10 16:53:00 · 1293 阅读 · 0 评论 -
asio学习2: TCP服务器端:对准时间 解析
#include ctime>#include iostream>#include string>#include boost/asio.hpp>using boost::asio::ip::tcp;std::string make_daytime_string(){ using namespace std; time_t now = time(0); return转载 2008-09-10 16:48:00 · 744 阅读 · 0 评论 -
Asio学习1: TCP客户端:对准时间 解析
我先从boost::asio库的一个范例程序,开始学习asio库.#include iostream>#include boost/array.hpp>#include boost/asio.hpp>//本程序的目的是访问一个时间同步服务器,我们需要用户指定一个服务器(如time-a.nist.gov),用IP亦可. using boost::asio::ip::tcp;int main(int转载 2008-09-10 16:44:00 · 2341 阅读 · 1 评论 -
函数PlaySound和sndPlaySound
一.PlaySound函数的声明为:BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);1.参数pszSound:是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAVE资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音.如果该参数为NULL则停止正在播放的声音.原创 2009-01-06 09:18:00 · 12865 阅读 · 1 评论 -
关于编码的方式控制IIS问题总结!
绕了很大一个圈子,终于搞定了,最终还是采用比较成熟的adsi技术实现,之前总监发的通过CComPtr 智能指针方式控制IIS只能在XP下,到了我用的WINB2003下就是不好用,可能是XP下的IIS5.1与Win2003下的IIS6.0 安全机制不同吧,没有做深入研究,转ADSI方式,顺利通过!小庆祝一下,等把代码重构完后发行来作为经验总结吧,免得以后再找了。……………………………………………原创 2009-01-15 17:37:00 · 794 阅读 · 0 评论 -
C++ STRING 和WSTRING 之间的互相转换函数
#include string>std::string ws2s(const std::wstring& ws){ std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C"; setlocale(LC_ALL, "chs"); const wchar_t* _Sourc转载 2012-02-14 09:11:56 · 496 阅读 · 0 评论 -
Asio资料收集及使用点滴
Asio的架构:Boost.Asio 设计索引概念性了解API:boost::asio中的同步与异步Asio的Buffer: buffer几种用法,这些Buffer都只是引用外部的内存数据,如果需要拷贝和分配,记得使用boost::pool,这里还有一篇处理拷贝Buffer的文章例子解析: Boost.asio的简单使用(timer,thread,io_service类)如果照着例转载 2011-11-08 11:36:07 · 682 阅读 · 0 评论 -
(搬运工)Boost学习之正则表达式--regex
注意使用Boost.Regex需要预先编译完整编译请参考本站编译Boost的文章如果只要编译Regex库,有两种方法(参考链接):在Boost根目录下运行bjam --toolset= --with-regex 其它参数到\libs egex\build里,找到对应编译器的makefile,然后make -f xxxx.mak使用Boost.Regex手里有七种转载 2011-11-21 09:47:36 · 694 阅读 · 0 评论 -
C#调用C++中带结构体指针的方法,憋了3个小时!
extern "C" __declspec(dllexport) VOID sncaGetAudioInput(LPAUDIOINPUT& lpAudioInput, unsigned int *pQty){ if(pQty == NULL) return; for (unsigned int i=0; i<(*pQty) ; i++) { lpAudio原创 2009-06-09 17:28:00 · 2113 阅读 · 2 评论 -
听朋友介绍了QT,闲时下载看了看,貌似不错,总有点儿BC感觉,呵呵,这个是VS2008+QT的安装,献给有兴趣的朋友!
首先必备软件:Ø Visual Studio 2008(不推荐使用Visual Studio 2008 Express)Ø 下载qt源码包(http://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip),注意一定是要源码包;注意在4.3.2的之前版本的源码包中mksepcs文件夹下没有wi原创 2009-05-06 22:14:00 · 1145 阅读 · 0 评论 -
利用DirectSound实现声卡录音【老毕改版】【Part1】
这几天一直在研究DSOUND的录音及播放,为了能实现网络音视频打基础,呵呵,在网上查找了大量的相关资料,有一定的收货,其中大量的工作用来修改从网上找出的源码,因为太多错误的了,不太适合初学者,为此我特别封装成类,供初学者学习参考,欢迎批评指正!/*类接口文件 ISound.h*/#pragma once #pragma comment(lib, "dxguid.lib")原创 2008-12-26 14:33:00 · 3057 阅读 · 0 评论 -
GDI和GDI+对象的相互转换
当然希望可以使用GDI+来完全代替GDI,再不济也只需要从GDI对象转到GDI+对象。但是就是有那么些工程,又要新技术新特性、又希望快速开发、又不肯丢弃旧版本的已有的功能。没办法,只能缝缝补补,咔哐碙啌... 一、CDC到Graphics只要这样:Graphics g(pDC->GetSafeHdc());//只要能构造CDC句柄的MFC对象都可以 //CClientDC、CPaint转载 2009-03-08 08:57:00 · 926 阅读 · 0 评论 -
阅读博客而引发的学习!
工作项目收工,闲来之际,驾网观博,见一标题醒目曰:WTL---WxWidget---MFC 何去何从 ,作为对MFC颇有兴趣的我内心一阵激动,点击进入,静而观之!WTL、WxWidget完全不懂,不知所云,随即打开作者提供的帮助,WTL中文教程,下载细心品读,兴趣油然而生,作为早已习惯VS2008开发的Coder,百度查找VS2008的相关WTL辅助工具,VisualFV随即现身,下载安装,目前还原创 2008-12-24 10:29:00 · 719 阅读 · 0 评论 -
在stdafx.h里加入#import msado15.dll出错
在stdafx.h里加入#import "c:/program files/common files/system/ado/msado15.dll"no_namespace rename("EOF","adoEof") error C2011: LockTypeEnum : enum type redefinition error C2011: DataTypeEnum :原创 2008-06-20 14:32:00 · 2807 阅读 · 0 评论 -
VC++错误,在查找预编译头指令时遇到意外的文件结尾
解决方法:方法一:在include头文件的地方加上#include "stdafx.h"。方法二:打开此项目的“属性页”对话框。单击“C/C++”文件夹。单击“预编译头”属性页。修改“创建/使用预编译头”属性为“不使用预编译头”。原创 2008-06-19 11:12:00 · 2986 阅读 · 0 评论 -
MFC浅析(5) 命令更新机制
MFC框架结构中,可以用ON_UPDATE_COMMAND_UI( id, memberFxn )宏指定菜单或工具条按钮等对应的状态设置函数在memberFxn中通过传入的CCmdUI对象指针就可以设置菜单项,工具钮的使用、禁用、标记等属性。所有在memberFxn中指定条件的变化,都将实时的反映到界面上去。其实现机理如下一 工具条按钮的更新由于工具条一直可见,故要实时转载 2006-05-17 22:02:00 · 953 阅读 · 0 评论 -
MFC浅析(2) 文档视图结构中文档操作流程
一基本架构 一个程序可以看作是建立在对文档进行处理的基础上的,而程序可处理的文档类型有可能有多种,同时每种文档又可能同时被打开多个。每个文档又可分为数据部分和表现部分。 基于这种认识,MFC文档视图框架结构将各功能模块总结为对象,用相互关联的这些对象类来建立应用程序. ①文档类型管理 CWinApp代表程序,它可处理多种类型的文档,这样,就必须有一个存储管理文档类型的内部成员,这个转载 2006-05-17 21:59:00 · 898 阅读 · 0 评论 -
MFC浅析(4) CObject浅析
MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObject中添加了特定的处理。 为了进一步增强对MFC类对象的理转载 2006-05-17 22:02:00 · 809 阅读 · 0 评论 -
MFC浅析(3) 文档视图结构中命令的处理流程
以MDI文档视图结构为例)在应用程序的界面上,包含菜单、工具条等元素,当选取这些元素后,将发送一个命令给程序。同时,还有命令发送的其它形式,例如快捷键等等。在文档视图结构中,程序包括一个主框架窗口,而具体打开的文件则包括其数据对象(CDocument) 表现形式(CView),和窗口容器(CFrameWnd)等几个相关对象。命令发送后,将按照一定的流向传达给指定的对象,由对象内成员函数响应转载 2006-05-17 22:00:00 · 844 阅读 · 0 评论 -
MFC浅析(8) CArchive 原理
MFC 提供CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。 以下对CArchvie 的内部实现作分析。 1.概述 2.内部数据 3.基本数据读写 4.缓冲区的更新 5.指定长度数据段落的读写 6.字符串的读写 7.CObject派生对象的读写 1.概述 CArchive使用了缓冲区,即一段内存空间作为临时数据存储原创 2006-05-17 22:04:00 · 1117 阅读 · 0 评论 -
MFC浅析(7) CWnd类虚函数的调用时机、缺省实现
1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestro转载 2006-05-17 22:04:00 · 1041 阅读 · 0 评论 -
Tab控件的基本操作方法
1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab Control 控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl2、创建两个新的对话框资源,其属性作如下修改:Border:none //边界为空,这样它就没了标题栏Style :Child // 这样这个模板就可以当作转载 2006-09-13 23:03:00 · 4437 阅读 · 1 评论 -
孙鑫VC++讲座笔记-(2)C++
1, c语言中,结构体struct中不能包括函数的,而在C++中struct中可以包括函数。2,C++中结构体和类可以通用,区别主要表现在访问控制方面:struct中默认是public,而 class中默认的是private。3,构造函数最重要的作用是创建对象的本身,C++中每个类可以拥有多个构造函数,但必须至少有一个构造函数,当一个类中没有显式提供任何构造函数,C++编辑器自动提供一个默认的不带转载 2006-08-23 13:40:00 · 749 阅读 · 0 评论 -
MFC浅析(6) 对话框数据交换及验证
对话框的数据交换和验证机制(DDX、DDV)可以使对话框上控件与对象数据成员间协调工作。 包括控件窗口与控件对象间的连接,控件窗口与对话框数据成员间的连接,以及数据成员的合法性验证等等。 在 virtual void DoDataExchange(CDataExchange* pDX);中记录了这些关系: 例如: DDX_Control(pDX, IDC_BUTTON1, m_b转载 2006-05-17 22:03:00 · 1509 阅读 · 0 评论 -
MFC浅析(1) 文档视图结构中,缺省的命令处理
文档视图结构中,缺省的命令处理在文档视图结构所构建的框架中,很多命令ID都有缺省的命令处理。很多功能都由他们完成,但这些功能在程序中不“可见”,不便于对程序的理解。 以下归纳了常见的缺省处理及其流程 在需要时候,可以重载这些函数以实现特定功能1.ID_FILE_NEW 2.ID_FILE_OPEN 3.ID_FILE_SAVE 4.ID_FILE_SAVE_AS 5转载 2006-05-17 21:58:00 · 832 阅读 · 0 评论 -
完成端口模式下的高性能网络服务器
第三章 完成端口模式下的高性能网络服务器 3.1开始 完成端口听起来好像很神秘和复杂,其实并没有想象的那么难。这方面的文章在论坛上能找到的我差不多都看过,写得好点的就是youkuaiyun.com上看到的一组系列文章,不过我认为它只是简单的翻译了一下Network Programming for Microsoft Windows 2nd 中的相关内容,附上的代码好像不是原书中的,可能是另一本外文书里的。我看转载 2008-08-08 08:55:00 · 945 阅读 · 0 评论 -
今天看到个关于讨论测试Socket服务器端满负荷链接的讨论帖!y
首先确实我没明白你们所说的起1000个线程的用意。现在明白还不晚。 告诉大家一个不幸的消息。我按照你们的方法测试结果是,联接还是100%的成功。 以下是我的测试代码。 void CClientDlg::OnButton7() //启动1000个线程。 { for(int i=0;i { AfxBeginThread(thread转载 2008-07-30 22:21:00 · 699 阅读 · 0 评论 -
CListCtrl用法简介
[设置属性]首先用资源编辑器拖放一个ListCtrl控件到对话框中。设置属性。Always Show Selection: True // 即便失去焦点依然高亮选择SingleSelection: True // 只允许选中一行View: Report // 报表方式,较常用[初始化]// 在对话框的OnInitialDialog中初始化ListCtrl// 1.转载 2008-07-22 21:54:00 · 982 阅读 · 0 评论 -
摄像头视频采集压缩及传输
引言:摄像头基本的功能还是视频传输,那么它是依靠怎样的原理来实现的呢?所谓视频传输: 就是将图片一张张传到屏幕,由于传输速度很快,所以可以让大家看到连续动态的画面,就像放电影一样。一般当画面的传输数量达到每秒24帧时,画面就有了连续性。下边我们将介绍摄像头视频采集压缩及传输的整个过程。一.摄像头的工作原理(获取视频数据)摄像头的工作原理大致为:景物通过镜头(LENS)生成转载 2008-02-03 11:06:00 · 4540 阅读 · 1 评论 -
ACE学习笔记
1.动态获得端口号: ACE_Asynch_Acceptor acceptor; ACE_INET_Addr addr= ACE_INET_Addr("HAStatus"); if (acceptor.open (addr, initial_read_size, 1) == -1) return -1转载 2008-02-03 11:04:00 · 1251 阅读 · 0 评论 -
孙鑫VC++讲座笔记-(4)MFC消息映射机制的剖析
一,消息映射机制1,消息响应函数:(例:在CDrawView类响应鼠标左键按下消息) 1)在头文件(DrawView.h)中声明消息响应函数原型。//{{AFX_MSG(CDrawView) //注释宏afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//}}AFX_MSG //注释宏说明:在注释宏之间的声明在VC中灰色显示。a转载 2006-08-23 13:52:00 · 873 阅读 · 0 评论 -
孙鑫VC++讲座笔记-(3)MFC程序框架的剖析
转载 2006-08-23 13:49:00 · 872 阅读 · 0 评论 -
孙鑫VC++讲座笔记-(1)Windows程序内部运行机制
1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。2,消息结构:typedef struct tagMSG { // msg HWND hwnd; //接收消息的窗口句柄。和哪个窗口相关联。 UINT转载 2006-08-23 13:37:00 · 778 阅读 · 0 评论 -
C++个字符串之间转换
/* * GB2312/Unicode/UTF-8转换 * WLCIMS WorkStation 2008-09-08 * http://wlcims.cn */ #ifndef __OCUGX_H__ #define __OCUGX_H__ class ocUgx{ public: // --------- UTF-8转Unicode,单字 --转载 2012-02-15 11:18:42 · 566 阅读 · 0 评论