VC
bodybo
这个作者很懒,什么都没留下…
展开
-
VC++2005、VC2008中Release版本设置为可调试的设置方法(转载)
一、很多时候需要在Release版本下调试程序,可以使用以下方法设置:1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;3、C/C++->优化->优化选择『禁用』;4、删除解决方案下的.ncb文件;5、工具->选项->调试->转载 2014-06-20 13:55:47 · 970 阅读 · 0 评论 -
把.NET程序部署到没有安装.NET Framwork的机器上(转载)
把.NET程序部署到没有安装.NET Framwork的机器上摘要本文讨论了如何使用Windows Installer技术发布.NET程序,以及如何使用native代码判断目标机器上是否安装有.NET Framework; 如果没有,将自动安装.NET Framework然后安装作者自己的.NET程序。目录本文内容 制作自己的安装程序 发布.NET Framew转载 2009-04-08 17:08:00 · 901 阅读 · 0 评论 -
理解套间(涉及进程、线程、COM线程模型)(转载)
简序大学毕业前的最后一学期,在一家公司实习,当时的工作需要用到一些操作系统提供的组件。那时候只知道COM这个名词,并不知道到底是怎么回事,只知道上网到处找别人的源码解决自己的问题;那段日子到现在回忆起来都是灰色的,每天呆坐在电脑前,一个网站一个网站的查找自己需要的源码。但并不清楚自己到底在做什么;那时候对自己能不能成为一个程序员充满了怀疑。在实习结束返校的火车上,一夜间,我把一本《COM本质原创 2009-03-03 16:43:00 · 1668 阅读 · 1 评论 -
ATL揭秘之“对象创建”篇(转载)
1 问题 当我们用VC++ ATL工程创建了一个COM工程,实现了一个自己的COM对象,又在另一个程序中CoCreateInstance这个COM对象时,不知你是否想过这样的问题:COM对象是用C++类对象实现的,但是,我们从来没有在自己的代码中创建这些C++类对象——比如,“new”这些对象。那么,实现COM对象的C++对象是由谁,何时,以及如何创建的呢?当然转载 2009-03-03 15:17:00 · 850 阅读 · 0 评论 -
常规DLL和MFC扩展DLL(转载)
本文将讨论如何利用MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型 使用MFC可以生成两种类型的DLL: A.MFC扩展DLL B.常规DLL 常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL 每个DLL都有某种类型的接口:变量、指针、函数、客户转载 2007-04-17 11:35:00 · 5210 阅读 · 0 评论 -
在VisualC++中检测和隔离内存泄漏(转载)
具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一。VisualC++ debugger和CRT库提供了一系列有效的检测和鉴定内存泄漏的工具。设置内存泄漏检测检测内存泄漏的基本工具是调试器和CRT调试堆函数。为了使用调试堆函数,在你的程序中你必须含有下面的说明:#define _CRTDBG_MAP_ALLOC#include#include必须保证上面声明的顺序,如转载 2006-08-24 14:25:00 · 1066 阅读 · 0 评论 -
How To Use LoadImage() to Read a BMP File(转载)
Knowledge Base HOWTO:How To Use LoadImage() to Read a BMP File: PSS ID Number: Q158898Article Last Modified on 07-18-2001------------------------------------------------------------------------------转载 2006-08-23 10:34:00 · 1562 阅读 · 0 评论 -
根据文件句柄,获取文件名(转载)
#include #include #include #include #include #define BUFSIZE 512BOOL GetFileNameFromHandle(HANDLE hFile) { BOOL bSuccess = FALSE; TCHAR pszFilename[MAX_PATH+1]; HANDLE hFileMap; // Get the file si转载 2006-08-28 10:30:00 · 6736 阅读 · 1 评论 -
CreateRemoteThread的使用(转载)
先解释一下远程进程,其实就是要植入你的代码的进程,相对于你的工作进程(如果叫本地进程的话)它就叫远程进程,可理解为宿主。首先介绍一下我们的主要工具CreateRemoteThread,这里先将函数原型简单介绍以下。CreateRemoteThread可将线程创建在远程进程中。函数原型HANDLE CreateRemoteThread( HANDLE hProcess,转载 2006-08-23 17:28:00 · 2171 阅读 · 0 评论 -
分析与理解消息反射机制vc++技术(转载)
郑力群前言:我曾写过一篇文章对通知消息WM_NOTIFY进行分析,消息反射是MFC中对通知消息的处理方式,两者之间关系十分紧密,因此,我写了这篇文章,希望能够描绘出通知消息的完整印象。消息反射的基础知识1、消息反射解释: 父窗口将控制子窗口发给它的通知消息,首先反射回子窗口进行处理(即给控制子窗口一个机会,让控制子窗口处理此消息),这样通知消息就有机会能被子窗口自身进行处理。2、MFC中引入转载 2006-08-17 21:09:00 · 1772 阅读 · 0 评论 -
VC中基于 Windows 的精确定时(转载)
中国科学院光电技术研究所 游志宇在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。 众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某转载 2006-08-16 22:56:00 · 777 阅读 · 0 评论 -
VC操作Excel(转载)
如今Excel是越来越重要了,在我们自己开发的程序中不免要和Excel打交道了。利用Automation技术,我们可以在不去了解数据库的情况下玩转Excel,而且你会发现一切竟如此轻松! 好了,咱们开始吧,我不喜欢用长篇累牍的代码来故弄玄虚,所以下面的代码都是切中要害的片段,总体上是个连贯的过程,包括启动Excel,读取数据,写入数据,以及最后的关闭Excel,其中还包括了很多人感兴趣的合并转载 2009-05-27 09:11:00 · 14030 阅读 · 5 评论 -
在VC中使用智能指针操作Excel(转载)
最近的一个工程中,需要将数据导入Excel表格中,项目经理知道我以前没有接触过操作Excel的经验,于是给了一段小程序给我,让我参考着做。这段程序是使用智能指针操作Excel,在网络上找了一个星期,居然没有一片关于智能指针操作Excel的文章,只有Automation技术,而且所有介绍Automation技术的文章都是大同小异,并且代码多,说明少。没有任何帮助,光有一堆代码,对于理解和使用没有转载 2009-05-27 15:11:00 · 4817 阅读 · 4 评论 -
_com_util::ConvertBSTRToString BUG解决方案(转载)
最近做了一个COM组件负责socket通讯,发现一个无法解决的问题,当socket发送较慢(当连一个代理服务器发送时通常会慢一些),COM组件提供的接口函数中将BSTR转换为char*时会造成程序崩溃,具体异常是操作了受保护的内存之类,跟踪代码发现出问题的代码为:_com_util::ConvertBSTRToString,这是微软提供标准转换代码,心灰意冷,以为这个问题绕不过去了。 后来无意转载 2012-10-08 08:51:50 · 4085 阅读 · 4 评论 -
关于shared_ptr的释放
如果在某个类(如classA)中定义了智能指针shared_ptr,并且该指针指向了某对象资源,则该对象的释放工作将在classA的析构函数调用后自动进行,其实就是在销毁智能指针对象时销毁其指向的引用数为0的资源。调用shared_ptr的reset是不能释放所指资源的。shared_ptr有显式办法控制何时销毁自己和所指资源吗?原创 2012-02-21 21:11:09 · 15587 阅读 · 6 评论 -
socket穿透代理代码(C++版)
写代码经常会遇到socket要通过代理连接服务器的情况,代理类型通畅有三种:HTTP、SOCK4和SOCK5,通过学习和网上参考相关代码,写了个代理类来实现该功能,贴出来与大家共享才贴出来两天,刚在百度一搜竟然发现已被一字不改的转载到好几个网站去了,连转载的字样都没有,不反对转载分享,可能否注明出处?头文件#pragma once#include #inclu原创 2012-02-20 10:16:15 · 17904 阅读 · 11 评论 -
提高Linux上socket性能---加速网络应用程序(转载)
原文地址:http://tech.c114.net/508/a242328.html在开发 socket 应用程序时,首要任务通常是确保可靠性并满足一些特定的需求。利用本文中给出的 4 个提示,您就可以从头开始为实现最佳性能来设计并开发 socket 程序。本文内容包括对于 Sockets API 的使用、两个可以提高性能的 socket 选项以及 GNU/Linux 优化。转载 2011-12-08 16:16:27 · 1565 阅读 · 0 评论 -
关于c运行时库的互相排除 (转载)
vc 运行时库 libc.lib转载 2011-05-19 16:35:00 · 953 阅读 · 0 评论 -
COM连接点在多线程中使用的注意事项
com atl connectionpoint 连接点 多线程原创 2010-10-10 21:35:00 · 1546 阅读 · 0 评论 -
windows下查找并强行关闭指定程序(转载)
枚举进程 关闭程序 TerminateProcess转载 2010-09-13 15:51:00 · 1013 阅读 · 0 评论 -
VC2008 ATL控件 去掉运行库依赖(转载)
VC VC2008 .net atl 库依赖转载 2010-06-18 17:48:00 · 1617 阅读 · 0 评论 -
VC获取IP地址和MAC地址程序(转载)
vc 网卡 MAC地址转载 2010-07-27 11:25:00 · 17145 阅读 · 1 评论 -
VC调用COM小心内存泄露
com 内存泄露 指针原创 2010-07-20 11:16:00 · 1543 阅读 · 0 评论 -
一个托盘程序演示 -闹钟 Alert(转载)
想必大家都看见过那些在系统托盘(Tray)中的程序吧,本文就演示了如何创建一个这样的托盘程序Alert。Alert是一个运行在系统托盘中的小闹钟,它在设定的时间后触发,运行屏幕保护程序并播放一首歌曲。这个程序是很久以前写的了,而我现在没有安装VC++了,所以本文的截图都是朋友Leoyin帮我做出来后传给我的(好麻烦,呵呵),在此也对他表示感谢! 建立一个托盘程序的关键在于Windows API转载 2006-08-17 21:38:00 · 1237 阅读 · 0 评论 -
为对话框中的控件增加提示的简单方法(转载)
我学VC从VC知识库中得到不少好处,相来都是一些热心朋友们的帮助,在此表示感谢!本工程可分五步:1、建一个基于对话框的程序TipTest,在CTipTestDlg中增加成员变量:CToolTipCtrl m_tip[2],CWnd *m_pSub[2];2、在CTipTestDlg::OnInitDialog()函数中增加如下代码: pSub[0] = GetDlgItem(I转载 2006-08-17 10:18:00 · 961 阅读 · 0 评论 -
windows提供的对于文件进行操作的API函数及其功能(转载)
转载 2006-06-21 10:28:00 · 2299 阅读 · 0 评论 -
标准文件操作函数(转载)
本节所讲的文件读写函数均是指顺序读写, 即读写了一条信息后, 指针自动 加1。下面分别介绍写操作函数和读操作函数。 1. 文件的顺序写函数 fprintf()、fputs()和fputc()函数 函数fprintf()、fputs()和fputc()均为文件的顺序写操作函数, 其调用格 式如下: int fprintf(FILE *stream, char转载 2006-06-21 10:24:00 · 2527 阅读 · 0 评论 -
文件操作API函数(转载)
在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 APICreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。 在打开文件获得了文件句柄之后,则可以通过该函数读取数据。W转载 2006-06-21 10:20:00 · 1562 阅读 · 0 评论 -
论函数调用约定(转载)
在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参转载 2006-06-16 17:00:00 · 816 阅读 · 0 评论 -
如何用VC编写供PB调用的DLL
和编写一般的DLL方法相同,需要注意以下两点:(1)调用约定C函数有_stdcall、_cdecl、_fastcall等多种调用约定,调用约定用来说明函数参数的压栈顺序和由谁(函数自身还是调用者)来修改堆栈。关于调用约定的详细说明,请参考我转载的另一篇文章。编写供PB调用DLL,请使用_stdcall调用约定,如下所示:extern "C" _declspec(dllexport)原创 2006-06-16 16:55:00 · 2728 阅读 · 1 评论 -
重启电脑代码(转载)
Shutting DownYou can use the ExitWindowsEx function to shut down the system. Shutting down flushes file buffers to disk and brings the system to a condition in which it is safe to turn off the compute转载 2006-09-18 15:52:00 · 1731 阅读 · 0 评论 -
深入分析MFC文档视图结构(转载)
深入分析MFC文档视图结构(项目实践) k_eckel:http://www.mscenter.edu.cn/blog/k_eckel文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦转载 2006-09-05 00:36:00 · 1254 阅读 · 0 评论 -
深入CSocket 编程之阻塞和非阻塞模式(转载)
深入 CSocket 编程之阻塞和非阻塞模式 作者:NorthTibet 来源:vckbase http://www.csai.cn 2006年01月24日转载 2006-09-05 18:07:00 · 1433 阅读 · 0 评论 -
如何获取网卡物理地址(转载)
来源:http://www.codeguru.com/network/GetMAC.htmlEnvironment: Compiled on: Visual Studio .NET & Windows XP Pro. Tested on Win2K Server & WinXP Pro I recently wrote two articles referenced below on h转载 2006-09-04 11:45:00 · 3870 阅读 · 0 评论 -
如何使最大化、最小化和关闭按钮有效或无效(转载)
使最小化按void CMainFrame::OnDisableMinbox() { //获得窗口风格 LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE); //设置新的风格 style &= ~(WS_MINIMIZEBOX); ::SetWindowLong(m_hWnd,GWL_STYLE,style); //重化转载 2006-08-25 15:37:00 · 4122 阅读 · 0 评论 -
递归调用删除文件夹及文件夹下所有内容
void RemoveTree(CString strParent) //递归函数{ CString strTmp; CFileFind f; BOOL bFind = f.FindFile(strParent + "*.*"); while(bFind) { bFind = f.FindNextFile(); if(f.IsDots()) continue; //文件名为"."或".原创 2006-06-21 11:23:00 · 1566 阅读 · 1 评论 -
volatile关键字的含义(转载)
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:int volatile nVint;当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使原创 2006-06-27 14:51:00 · 940 阅读 · 0 评论 -
用MFC如何高效地绘图(转载)
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnD转载 2006-08-18 10:01:00 · 1249 阅读 · 0 评论 -
如何解决外部符号错误:_main,_WinMain@16,__beginthreadex(转载)
解决外部符号错误:_main,_WinMain@16,__beginthreadex在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有:libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main转载 2006-08-09 13:13:00 · 954 阅读 · 0 评论 -
如何获取网卡MAC、硬盘序列号、CPU ID、BIOS编号(转载)
以下代码可以取得系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的 {转载 2006-08-09 10:46:00 · 3371 阅读 · 0 评论