MFC/VC++
zhang-hui
Have a nice day
展开
-
VC中的文件类型
来源于:http://baike.baidu.com/view/1037844.htm在应用程序中经常要使用一些位图、菜单之类的资源, VC中以rc为扩展名的文件称为资源文件, 其中包含了应用程序中用到的所有的windows资源,要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。知识扩展:Visual C++作为一种程序设计语言, 它同时也是一个集转载 2012-04-13 10:45:27 · 600 阅读 · 0 评论 -
#pragma 指令
参考网页: http://hi.baidu.com/dreamzgj/blog/item/46b99b12812cce24dd5401ee.htmlhttp://jinweijingjing.blog.sohu.com/30362134.htmlhttp://msdn.microsoft.com/zh-cn/subscriptions/downloads/d9x1s805(v=转载 2012-06-19 09:57:48 · 1101 阅读 · 0 评论 -
extern "C" 和 #ifdef __cplusplus 解释
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先转载 2012-04-21 09:14:28 · 936 阅读 · 0 评论 -
堆和栈的区别
转自:http://www.cnblogs.com/pomp/archive/2007/10/19/930145.html 简单的可以理解为:heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分...转载 2012-04-21 21:29:25 · 687 阅读 · 0 评论 -
VS中Debug版本和Release版本的区别
Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此转载 2012-12-21 21:26:20 · 1272 阅读 · 0 评论 -
CloseHandle()函数的使用
CloseHandle()函数的使用很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢? 答:Closing a thread handle does not termin转载 2012-12-21 16:48:30 · 1389 阅读 · 0 评论 -
Chapter11-"windows线程池"之异步调用函数
利用线程池(thread pool)异步调用函数时,不需显式调用 CreateThread 函数,系统会为进程自动创建线程池(thread pool)。线程池的每个线程实际运行你事先定义好的回调函数。 写到这里,也许大多人会想:怎么不直接调用众所周知的 CreateThread 函数去创建线程?这里就有必要讲一下线程池(thread pool)的机制了。 线程池(threa原创 2013-01-26 15:18:24 · 1468 阅读 · 2 评论 -
MFC中利用CSocket实现UDP通信
这两天一直在找MFC下用CSocket实现UDP通信,尝试了网上不少的资料都没有成功,可能是自己在什么地方出错了。最后参考http://www.cnblogs.com/nuaa/archive/2011/12/22/2298495.html顺利实现了。自己也顺便作一些总结,希望可以利人利己。 源代码请到此处下载。 基本界面如下:原创 2012-05-09 17:51:27 · 16626 阅读 · 9 评论 -
C++ 定时器使用
用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimer转载 2013-01-26 19:45:17 · 2895 阅读 · 0 评论 -
ANSI编码字符转化为UNICODE编码字符
WCHAR* S2W(char* ansi){int i;WCHAR* unicode;unicode = (WCHAR*) malloc ((strlen(ansi)+2)*sizeof(WCHAR));for (i = 0; i<(signed)strlen(ansi)+1; i++)unicode[i] = ansi[i];unicode[i] = 0;ret原创 2012-04-13 11:01:13 · 1299 阅读 · 0 评论 -
MFC对话框中文出现乱码的解决方法
转自:http://topic.csdn.net/t/20030408/10/1632280.html解决方法:资源视图(Resource View)-->工程名.rc (projectname.rc)-->对话框(Dialog)-->右键属性-->语言 设置为中文。转载 2012-04-12 15:54:28 · 9765 阅读 · 4 评论 -
如何枚举系统COM串口
CRegKey RegKey; int nCount = 0; //系统COM端口的注册表信息就在该目录下。 if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm") == ERROR_SUCCESS) { while(true) {转载 2012-04-13 08:42:35 · 1879 阅读 · 0 评论 -
实现浏览文件夹功能
BROWSEINFO bi; char name[MAX_PATH]; ZeroMemory(&bi,sizeof (BROWSEINFO)); bi.hwndOwner = GetSafeHwnd(); bi.pszDisplayName = name; bi.lpszTitle = " 选择文件夹 " ; //bi.ulFlags原创 2012-04-13 10:48:12 · 582 阅读 · 0 评论 -
PreTranslateMessage详解
PreTranslateMessage详解 原文链接 1. 函数原型:( MSDN ) Override this function to filter window messages before they are dispatched to the Windows functions TranslateMessage and DispatchMessage T转载 2012-04-13 10:56:41 · 6046 阅读 · 0 评论 -
判断计算机是否已经连接到Internet
判断当前计算机是否可以联网,利用 RAS 函数进行判断。这个函数可以正确判断当前是否已经连接到 Internet ,但是不能准确判断是否在局域网环境下的链接状态。 BOOL IsConnected(){ RASCONN lpRasConn; RASCONNSTATUS rasStatus;转载 2012-04-13 10:49:17 · 1375 阅读 · 0 评论 -
VS2008使用MSComm控件
其实也不是自己完全原创,参考了不少人的资料。如果没有装过VC6.0的话就需要下载这个文件(人家要求的分数蛮高的)。先按照上面要求完成操作。然后按照如下步骤:菜单 Tool-->Choose toolbox items-->点击COM Components选项卡-->选中Miscrosoft Communications Control-->OK。之后你的原创 2012-04-14 12:35:05 · 2100 阅读 · 3 评论 -
VS2008编译的程序运行提示“由于应用程序配置不正确,应用程序未能启动”
转自:http://hi.baidu.com/honfei/blog/item/2356ad9b624a01b8c9eaf485.htmlVC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那 么就说明该程序动态链接了VC9的运行时库,转载 2012-04-29 16:02:54 · 4584 阅读 · 0 评论 -
VS和VC++6.0 编程时相对路径问题
刚才在测试的时候发现这个问题,特记于此。 在cpp中用函数访问文件时,其相对路径不是相对于cpp所在的目录,而是相对于的工程性文件(如:, dsp, .dsw)所在的目录. 不过一般cpp和工程文件都放在一个目录下,所有一般都没有察觉,但是如果是向工程添加其他目录下的cpp文件时,可能就会出现问题了。原创 2012-04-19 10:15:37 · 1703 阅读 · 0 评论 -
C++编程获得某台机器的IP地址
转自:http://www.vckbase.com/document/viewdoc/?id=435 下面是程序的代码,很简单://////////////////////////////////////////////////////////////////// 本程序报告本机上每一块网卡的IP地址// 命令行编译命令为://// cl getip1.c转载 2012-05-06 15:55:17 · 986 阅读 · 0 评论 -
stdafx.h有什么用
转自:stdafx.h到底有什么用? 首先向其致敬。 stdafx的全称应该叫做,Standard Application Fram Extend . 你会发现他里面没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。 Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间转载 2012-05-07 11:12:30 · 5891 阅读 · 0 评论 -
如何调用 DLL 中的C++ 类(隐式链接)
如何调用DLL中的C++类(隐式链接)最近在整DLL,对于从DLL中导出 c++类,自己的学习笔记如下:我用的是VS2010.不过其他VS编译器应该都差不多吧!步骤一:建一个 win32解决方案,主工程(就是还有 main函数的)那个我就不说 了),DLL工程最后一步的Application type选中Dll:原创 2012-05-08 12:19:04 · 4099 阅读 · 0 评论 -
如何调用 DLL 中的函数
如何调用LL 中的函数 在 DLL工程中的 cpp中函数定义如下:extern "C" _declspec (dllexport ) int add(int a, char b){ return a + b;} 一:显示链接调用的 DLL的主工程的 main文件中代码如下:#include #include #inc转载 2012-04-13 10:58:39 · 1143 阅读 · 0 评论