
visual c++
文章平均质量分 81
keepAction
这个作者很懒,什么都没留下…
展开
-
基于iocp的SOCKET通讯软件的设计
完成端口基本上公认为一种在windows服务平台上比较成熟和高效的IO方法,利用完成端口进行重叠I/O的技术在WindowsNT和WIndows2000上提供了真正的可扩展性。完成端口和Windows Socket2.0结合可以开发出支持大量连接的网络服务程序。 首先来看看重叠I/O(Overlapped I/O): 重叠I/O(Overlapped I/O)机制允许发起一个操转载 2013-08-29 22:28:32 · 915 阅读 · 0 评论 -
用完成端口开发大响应规模的Winsock应用程序
通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了――创建和连接一个套接字,尝试进行连接,然后收发数据。真正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。本文将讨论如何通过Winsock2在Windows NT 和 Windows 2000上开发高扩展能力的Winsock应用程序。文章主要的焦点在客户机/服务器模型的服务器这一方,当然,其中的转载 2013-01-05 08:44:37 · 1309 阅读 · 0 评论 -
socket编程:select 用法 例子
鄢写的,参考之用/////////////////////////////////////////////////////////////服务器:#include #include #include #pragma comment(lib,"ws2_32.lib") #define INT_SERVER_PORT 600转载 2012-12-20 09:00:19 · 740 阅读 · 0 评论 -
VC CFont 用法
VC CFont 用法 LOGFONT结构的变量 仔细查一下CFont my_CFont;if( !my_CFont.CreatePointFont( 300,_T("Helvetica"),NULL ) )return;( GetDlgItem (IDC_EDIT1) )->SetFont( &my_CFont );二、常用法CRect rcRecta转载 2012-12-17 11:27:58 · 802 阅读 · 0 评论 -
Windows常用的虚拟键码及其对应的值
转载 2012-12-26 15:36:34 · 1380 阅读 · 0 评论 -
CString的构造函数
CString的构造函数CString( );例:CString csStr;CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456"); CString csStr2(csStr);CString( TCHAR ch, int nRepeat = 1 );例:CString转载 2012-12-11 13:35:34 · 634 阅读 · 0 评论 -
Skin++ VC6.0 Release版本发布问题解决方案
在组建菜单中选择 “release” 后,点击运行,提示以下错误: autodial.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl skinppExitSkin(void)" (__imp_?skinppExitSkin@@YAHXZ)autodial.obj : e转载 2012-12-10 09:20:01 · 1550 阅读 · 0 评论 -
网络编程之select 模式开发实例
在网络上看到太多关于select i/o用法,都不是非常的详细。经过摸索,把我实现的例子张贴上来,供大家参考。描述:服务器:实现并发tcp服务器,最多允许64 个客户端连接。客户端:与服务器建立tcp连接,发送数据给服务器。服务器接收数据。服务器代码:(红色为我的代码)// SelectServerDlg.h : header file//#if !defined(转载 2012-11-18 07:40:53 · 1867 阅读 · 1 评论 -
CTreeCtrl 详解
(一)树控制的主要功能 树控制和视(Tree Control&View)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁盘目录等,以供用户在其中进行各种选择。 树控制中的每个数据项包括数据项名称的文本字符串和用于表示该数据项的图像,每个数据项下面均可包含各种子项,整个结构就象目录树一样。对于包含各种子项的数据项,可通过鼠标双击来展开或合拢,这可以通过控制树的不同风格来实现树转载 2012-11-16 09:19:14 · 4827 阅读 · 0 评论 -
下学习使用Teechart8记录 一 安装和熟悉teechart8
VC6 下学习使用Teechart8记录一 安装和熟悉teechart8上网找了一个teechart8的Activex版本,在VC6下使用正常,感觉功能挺强大的,于是决定认真用一用,我是完全完全的新手,请高手们直接忽略我,或者给我提些好的建议。我得到的是一个teechart8.ocx文件,这是Activex的文件,使用之前先注册一下,将该文件放入系统目录下,然后打开命令提示符,或者直接在运转载 2012-11-13 08:57:38 · 4608 阅读 · 0 评论 -
MFC中树控件CTreeCtrl的用法
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的转载 2012-11-08 11:21:55 · 1745 阅读 · 0 评论 -
增加新Ctreeview 提示未定义解决办法!
在StdAfx.h中加入 #include转载 2012-11-06 15:05:07 · 2515 阅读 · 1 评论 -
VC 操作excel
简介通过本文及配套示例源码你可以更加灵活的控制Excel表格文件,其中包括创建新Excel文件、写入表格数据、读取表格数据(包括对原建Excel文件自已手工添加的行、列数据的准确读取),删除已有Excel表格,对表格中指定行、列、单元格进行查询、插入、替换等操作,同时还可以将生成的Excel文件转换为按指定分隔符分隔的其它文本格式的文件。下面是把此方法用VC6编写的示例程序运行效果:转载 2013-01-23 14:05:47 · 2544 阅读 · 0 评论 -
用VC的rand和srand产生规定范围内的数,例如1-30, 20-50。
#define getrandom( min, max ) ((rand() % (int)(((max) + 1) - (min))) + (min)) //先初始化 srand((unsigned)time(NULL)); 1-30: int nNumber = getrandom(1, 30); 20-50: int nNumber = getrandom(20,转载 2013-03-07 14:52:16 · 1787 阅读 · 0 评论 -
VC 屏蔽ESC,ENTER
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE) return TRUE; if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) return TRUE; else return CDialog::PreTranslateMess转载 2013-03-13 09:05:34 · 869 阅读 · 0 评论 -
VC多文档程序结构
VC多文档程序结构 1、文字的关系 概括文档、文档模板、视图和框架类联系为: (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关联的视图,而视图只能与一个文档相关联。 (2)视图保留指向其文档的指针,并被包含在其父框架窗口中; (3)文档框架窗口(即包含视图的mdi子窗口)保留指向其当前活动视图的指转载 2013-06-06 10:00:26 · 1051 阅读 · 0 评论 -
采集网页选定部分全攻略
程序原理:一、在IE菜单中加入菜单项在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt项下建立一个新项,项的名称即为出现在菜单中的标题将新建项的默认值设定为一个URL地址,当用户点击菜单项后,IE就会调用URL指向的页面中的脚本。二、如何控制菜单项在合适的时候显示下面再介绍一下上面注册项中Cont转载 2013-05-15 10:15:51 · 772 阅读 · 0 评论 -
在VC++中用CMSChart实现实时曲线的绘制(实例)
本例子是在MFC中实现的:利用计时器每个一段时间产生一个随机数,并插入到曲线图中显示,如果图中的数据点大于30个,则在插入新数据的同时,删除下标最小的数据点。实时曲线图显示在对话框中。以下是三个主要的函数。函数一:初始化曲线图void RealChartDlg::InitChart(){//设置标题m_Chart.SetTitleText(LPCTSTR("实时曲线图"))转载 2013-05-28 09:30:49 · 4088 阅读 · 0 评论 -
VC调试方法大全
一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级断点设置跟踪调试1、 尽量使用快捷键时行调试2、 观察调转载 2013-04-29 09:40:09 · 698 阅读 · 0 评论 -
VC随笔文档视图结构
VC随笔文档视图结构使用断点调试观察MFC应用程序框架的创建过程:由于一个对象被创建时会自动调用构造函数,而一个窗口被创建时会调用OnCreate函数,因此在下列地方设置断点:1、应用程序类、文档类、框架窗口类、视图类的构造函数开始处(函数开始大括号所在行)2、CMy2DCADApp::InitInstance函数开始处、添加文档模板处、结尾处(函数结束大括号所在行)3、CMa转载 2013-04-29 08:56:37 · 877 阅读 · 0 评论 -
CFileDialog的用法简介 .
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERW转载 2013-04-27 14:25:13 · 855 阅读 · 0 评论 -
字符串实用格式转换收集
1.string 转 CStringCString.format(”%s”, string.c_str());2.char 转 CStringCString.format(”%s”, char*);3.char to stringstring s(char *);4.string 转 char *char *p = string.c_str();5.转载 2013-04-27 13:50:01 · 805 阅读 · 0 评论 -
AfxBeginThread的基本用法
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UNT nStackSize = 0, DWORD dwCreateFlags = 0,转载 2013-04-07 19:11:58 · 748 阅读 · 0 评论 -
水晶报表在VC 6.0中的使用
水晶报表在VC 6.0中的使用1.创建VC工程添加报表控件 在VC集成环境中用AppWizard新建一个MFC单文档工程,其余选项都为默认。菜单中选择Project->Add To Project->Components and Controls...弹出组件、控件选择对话框,进入Registered ActiveX Controls,选中Crystal Report Viewer转载 2013-03-21 21:06:02 · 1480 阅读 · 0 评论 -
VC CString 字符串处理函数的应用
1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。说明:此成员函数用来测试一个CString 对象是否是空的。示例:下面的例子说明了如何使用CString::IsEmpty。// CString::IsEmpty 示例CString s;ASSERT( s.IsEmp转载 2013-04-02 10:19:41 · 898 阅读 · 0 评论 -
VC PlaySound
VC播放声音函数PlaySound和sndPlaySound的用法一、PlaySound函数的声明为:BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);参数说明:pszSound:是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAVE资源的名字,或是内存中声音数据的指针,或是在系统注册表WI转载 2013-03-13 10:22:20 · 3503 阅读 · 0 评论 -
VC屏幕截图(将屏幕指定区域存成图片)
HBITMAP CLoadpicDlg::CopyScreenToBitmap(LPRECT lpRect){ HDC hScrDC, hMemDC; // 屏幕和内存设备描述表 HBITMAP hBitmap,hOldBitmap; // 位图句柄 int nX, nY, nX2, nY2; // 选定区域坐标 int nWidth, nH转载 2012-10-30 21:00:39 · 8804 阅读 · 1 评论 -
VC串口通信
在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。本文我们只介绍API串口通信部分。 串口的操作可以有两种操作方式:同步操作方式和重叠操作方式(又称为异步操作方式)。同步操作时,API函数会阻塞直到操作完成以后才能返回(在多线程方式中,虽然不会阻转载 2012-10-19 16:12:44 · 1463 阅读 · 0 评论 -
VC++下应用AT命令对短信息的编程
前面数次连载我们以较长的篇幅讲解了串口通信的硬件原理、DOS平台控制以及基于WIN32 API、控件和第三方类的串口编程。作为本系列文章的最后一次连载,本章将给出一个典型的应用实例:西门子短信服务模块TC35的串口控制。 1.短信控制终端 作为短信 (Short Message Service,SMS)一族,想必你有这样的体会:用手机编辑短信息十分不便、容易出错,而且修改费时,若能用计转载 2012-09-18 12:39:25 · 3352 阅读 · 0 评论 -
使用ADO封装类的数据库程序开发实例
一、前言用过ADO的人都知道, 调用ADO要处理很多"麻烦"的事情,如异常处理等,要写很多try - catch块. 有点不甚其烦。我干脆把常用的函数都封装起来,免去老是要写try - catch块的麻烦。做起来虽然没有什么技术含量,但也比较烦琐,所以只完成了一部分,且由于时间及个人水平有限,没有对封装的东西作全面测试,并必定有很多错误,但想到对某些朋友可能有用。所以先"捐"出来了。^转载 2012-03-28 17:36:14 · 1097 阅读 · 0 评论 -
CSizingControlBar - a resizable control bar
Features of CSizingControlBar 2.43Resizable control bar, that can be resized both when docked and when floating.Multiple sizing control bars can be docked on the same row/column. Full dynamic re转载 2012-03-28 11:20:05 · 1380 阅读 · 0 评论 -
vc++ 2008 MFC ADO
连接步骤:首先,在工程中的预编译头文件stdafx.h的末尾导入ADO库代码为:#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF") rename ("EOF", "rsEOF")说明将ADO中结束标志EOF改为rsEOF,以避免和其它库中命转载 2012-03-10 10:34:45 · 843 阅读 · 0 评论 -
CJLibrary--VC下高级界面设计的利器
CJLibrary在 http://www.codejock.com/download.htm 最新的是6.09 BCGControl在http://www.codeproject.com/docking/BCGControlBar.asp最新的是4.7 对于初学者来说,VB,Delphi里对每个控件千变万化的属性设置确实很迷人,众多 的控件更为你程序增色不少。VC相对转载 2012-03-02 17:54:38 · 2857 阅读 · 0 评论 -
CreateThread创建线程传递结构体参数
一般mfc创建线程的函数用的最多的有两个:AfxBeginThread和CreateThread。首先来学习CreateThread。 CreateThread线程函数及参数如下: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to s转载 2012-03-02 13:55:33 · 18947 阅读 · 2 评论 -
单文档各类访问
文档类中获取视类指针POSITION POS=this->GetFirstViewPosition();C**View *pView=(C**View*)GetNextViewPos(POS);框架类中获取视类 GetActiveView();获取框架类指针AfxGetApp()->m_pMainWnd;如果是在视类中获取的话可以getparent();转载 2012-02-27 15:02:32 · 752 阅读 · 0 评论 -
visual c++ 多线程
留个纪念,不错的总结。十个例子清晰列举啦多线程编程的奥妙。 VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的转载 2012-02-27 11:46:19 · 1546 阅读 · 0 评论 -
VC的文件操作
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MF转载 2012-02-24 19:16:36 · 513 阅读 · 0 评论 -
VC之CString,wchar_t,int,string,char*之间的转换
VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_tCString path = "asdf";wchar_t wstr[256] = path.AllocSysString();或者:wchar_t wcstring[256];MultiByteToWideChar(CP_ACP,0,path,-1,w转载 2012-02-23 20:16:46 · 609 阅读 · 0 评论 -
VC中ListCtrl经验总结
ListCtrl在工作中,常常用到,也常常看到大家发帖问怎么用这个控件,故总结了一下自己的使用经验,以供参考使用。先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Eff转载 2012-02-22 20:57:47 · 477 阅读 · 0 评论 -
VC通过HTTP方式获取网页
在VC中通过HTTP方式获取网页,我试过好几种方式,但是都有问题,现将我用的两种虽然也有问题但基本可以实现的方式写出来,如果大家有更好的方式或者能解决我所遇到的问题,请告诉我:QQ158792331,邮箱:werther161@yahoo.com.cn第一种:首先要包含这个头文件:#include CInternetSession mySession; CHttpFile*转载 2012-02-22 19:02:02 · 1058 阅读 · 0 评论