VC
文章平均质量分 88
zhou191954
这个作者很懒,什么都没留下…
展开
-
VC常用小知识
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。E转载 2012-10-08 23:05:36 · 2454 阅读 · 0 评论 -
WinNT.h
/*++ BUILD Version: 0066 Increment this if a change has global effectsCopyright (c) Microsoft Corporation. All rights reserved.Module Name: winnt.hAbstract: Thi转载 2013-04-22 15:14:33 · 5178 阅读 · 0 评论 -
MFC控件Edit Control
入门篇:Edit Control控件最常见的用法,一般有有以下几种:1、 显示默认的字符串;2、 接受用户输入的字符串。3、 作为密码框接受用户输入的字符串。 Edit Control对应的MFC类为CEdit类。而CEdit是继承自CWnd类的,所以也继承了来自CWnd类的GetWindowText()和SetWindowText()。其实从这两个函数的名字大家转载 2013-03-06 11:59:33 · 10509 阅读 · 0 评论 -
WinNT.h
/*++ BUILD Version: 0066 Increment this if a change has global effectsCopyright (c) Microsoft Corporation. All rights reserved.Module Name: winnt.hAbstract: Thi转载 2013-04-27 00:11:24 · 6843 阅读 · 0 评论 -
CString 和 LPCTSTR区别
CString LPCTSTR区别联系 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPC转载 2013-03-07 20:02:31 · 526 阅读 · 0 评论 -
MFC控件Combo Box
一、初始化Combo Box控件(1)在资源视图中,选择控件的"Properties",然后在Data选项卡里为控件添加初始化数据,换行是按Ctrl+Enter,然后,再修改Style选项卡里的Type属性为Drop List。(2)在程序初始化时动态添加CString strTemp;((CComboBox*)GetDlgItem(IDC_COMBO_CF))->Re转载 2013-03-07 11:19:15 · 977 阅读 · 0 评论 -
开发BHO插件2
一、简介有时,你可能需要一个定制版本的浏览器。在这种情况下,你可以自由地把一些新颖但又不标准的特征增加到一个浏览器上。结果,你最终有的只是一个新但不标准的浏览器。Web浏览器控件只是浏览器的分析引擎。这意味着仍然存在若干的与用户接口相关的工作等待你做――增加一个地址栏,工具栏,历史记录,状态栏,频道栏和收藏夹等。如此,要产生一个定制的浏览器,你可以进行两种类型的编程――一种象微软把Web浏转载 2013-09-03 18:19:36 · 1052 阅读 · 0 评论 -
开发BHO插件1
在Windows操作系统上,我们最常见的浏览器有两种:文件浏览器(exploer.exe,应用于文件系统)和Internet浏览器(iexplore.exe,应用于互联网资源)。由于这两个浏览器功能强大,而且又与Windows操作系统捆绑销售,最终也就成为了浏览器的标准。但有时候,为了给浏览器加入一些新的特性,我们往往会重新设计一个自己的浏览器。新的浏览器模仿标准浏览器的大部分功能,同时加入新特性转载 2013-09-03 18:18:48 · 1807 阅读 · 0 评论 -
开发BHO插件3
BHO(Browser Helper Object,浏览器辅助对象,简称BHO) BHO是微软推出的作为浏览器对第三方程序员开放交互接口的业界标准,通过简单的代码就可以进入浏览器领域的“交互接口”(INTERACTIVED Interface)。通过这个接口,程序员可以编写代码获取浏览器的行为,比如“后退”、“前进”、“当前页面”等,利用BHO的交互特性,程序员还可以用代码控制浏览器行为,比转载 2013-09-03 18:22:33 · 1345 阅读 · 0 评论 -
开发BHO插件4
前言: 本文档是为了演示如何使用V2005开发一个简单的BHO组件,BHO组件是实现了IObjectWithSite接口的 COM对象,该COM对象与IE进行绑定。 本文档将逐步演示如何建立BHO组件的过程,该组件实现的功能:首先当装载WEB页的时候 打印出"Hello world"信息,然后把该WEB页的所有图片资源删除。转载 2013-09-03 18:22:14 · 1495 阅读 · 0 评论 -
VC下多字节与宽字节之间的相互转换
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C转载 2014-01-13 17:19:04 · 1595 阅读 · 0 评论 -
_stprintf_s和_stscanf_s函数与UNICODE编码
_stprintf_s和_stscanf_s函数与UNICODE编码 一、核心内容 该文档适用于微软的visual C++ 平台。 需要头文件: MSDN上对stprintf_s和_stscanf_s函数的定义: TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defi转载 2014-05-06 10:03:22 · 16943 阅读 · 1 评论 -
一步一步创建VC2005解决方案
现在软件开发已经告别了“独行侠”的年代,而是以团队开发为主。一般情况下,一个解决方案都会包含多个项目,比如:其中一些是静态库项目,一些是动态库项目,当然还会有应用程序项目。另外,根据需要,还可能会使用一些第三方库。因此为解决方案设置一个合理的目录结构并配合一定的环境变量,不但可以使得代码管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变转载 2015-01-08 12:04:07 · 536 阅读 · 0 评论 -
GetLastError错误代码含义
2005 msdn url:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WINCE.v50.en/wcecoreos5/html/wce50lrfsystemerrorsnumericalorder.htmThe following table shows possible system error values.Co转载 2013-03-26 14:49:45 · 2263 阅读 · 0 评论 -
Callback回调函数
凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如SetTimer,LineDDA,EnumObjects。 回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计) 例如: ---------------------------------------- BOOL转载 2012-10-08 23:43:21 · 473 阅读 · 0 评论 -
VC常见库类型
Console:控制台程序Window: 窗体程序MFC: 面向对象的封装ATL: 自动化COM开发CLR: 公共语言运行时,命名空间using namespace System;STL: C++标准模板库,命名空间using namespace std;CRT:C运行库优先MFC和WindowsAPI,再使用C++类和CRT函数库原创 2012-10-08 23:26:06 · 416 阅读 · 0 评论 -
VC实现文件拖拽
使用过QQ的人都知道,只要把文件拖拽到消息框中就可以传送文件了。那么这种功能是如何实现的呢?其实很简单,只需要响应一个WM_DROPFILES消息就可以了。 在基于对话框的程序中,默认是没有这个消息的,按下Ctrl+W,弹出类向导对话框,选择Class Info标签,在Message fileter下拉列表中选择Window,然后再点击Message Maps标签,就出现WM_DROPF转载 2012-10-08 22:50:58 · 386 阅读 · 0 评论 -
Dll学习笔记
DLL(Dynamic Link Libraries)专题: 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运转载 2012-10-08 23:13:07 · 428 阅读 · 0 评论 -
VC中TRACE用法
个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于在CSDN上找到了,真是个高地方啊,方法如下:1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,转载 2012-12-20 12:13:41 · 574 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该D转载 2013-01-09 11:39:58 · 483 阅读 · 0 评论 -
用VC++建立Windows 服务程序
本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。为什么要使用服务应该程序呢?转载 2012-12-11 19:02:52 · 449 阅读 · 0 评论 -
解析VC中的消息
消息是指什么?消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击转载 2012-12-11 18:58:53 · 428 阅读 · 0 评论 -
CSIDL
CSIDL values provide a unique system-independent way to identify special folders used frequently by applications, but which may not have the same name or location on any given system. For example, the转载 2013-04-02 14:46:10 · 1017 阅读 · 0 评论 -
获取磁盘序列号GetVolumeInformation
// GetVolume.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include void CVolSerialNumDlg(){ TCHAR volumeName[MAX_PATH + 1] = { 0 };转载 2013-03-28 18:46:07 · 4039 阅读 · 0 评论 -
获取系统指定路径SHGetSpecialFolderPath
API声明: function ulong SHGetSpecialFolderPath(long hwndOwner,ref string lpszPath,int nFolder,boolean fCreate ) LIBRARY "shell32.dll" ALIAS FOR "SHGetSpecialFolderPathA"Function Long GetDesktopWindow(转载 2013-04-02 14:38:59 · 697 阅读 · 0 评论 -
OutputDebugString
坚定的 Win32 开发人员可能对 OutputDebugString() API 函数比较熟悉,它可以使你的程序和调试器进行交谈。它要比创建日志文件容易,而且所有“真正的”调试器都能使用它。应用程序和调试器交谈的机制相当简单,而本文将揭示整件事情是如何工作的。本文首先是由以下事件促使的,我们观察到 OutputDebugString() 在管理员和非管理员用户试图一起工作或游戏时并不总是能可转载 2013-04-02 15:29:11 · 1527 阅读 · 0 评论 -
STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有转载 2015-04-22 17:16:55 · 897 阅读 · 0 评论