Welcome 微信登录

首页 / 软件开发 / C++

介绍一个功能强大的API函数 ShellExecute

介绍一个功能强大的API函数 ShellExecute

介绍一个功能强大的API函数 ShellExecute2010-01-09zxn问题的提出:我使用MFC编写一个APP,要求About对话框中显示LOGO、公司名、地址和公司的URL链接。使用户点击URL链接以后,启动浏览器访问Web页面,这种对话框中的热链接使应用程序增色不少。我琢磨的方法是 从系统注册表中通过查找.htm 或 .html文件的关联程序来获得缺省浏览器的名字,这样好象有很多工作要做。此外,如果浏览器已经打开,总是开始一个新的实例替代当前已...
COM原理及应用----COM发展——COM+

COM原理及应用----COM发展——COM+

COM原理及应用----COM发展——COM+2011-04-041、COM+由于历史的原因,COM、DCOM和MTS相互之间并不很融洽,难以形成统一的整体。COM+把这三者有效地统一起来,形成了一个全新的、功能强大的组件体系结构。COM+并不是COM的新版本,而是COM的新发展,或者COM更高层次上的应用。COM +的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。COM+把组件软件提升到应用层而不是底层的软件结构,它通过操作系统的各种支持,使...
利用键盘钩子开发按键发音程序

利用键盘钩子开发按键发音程序

利用键盘钩子开发按键发音程序2010-01-09GDGF一、前言一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成"盲打"的好习惯吗?光想不做可不行,开始行动(您可千万别急着去 拿工具箱啊^_^)...按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播 放相应的声音,自己的程序当然不在话下,那么其它程序当前按下哪个键如何得知呢?利用键盘钩子便可 以很好地解决。下载本文的全部源代...
COM原理及应用----COM对象和接口

COM原理及应用----COM对象和接口

COM原理及应用----COM对象和接口2011-04-041、COM对象的理解COM对象类似于C++语言中类的概念,类的每个实例代表一个COM对象,它也包括属性(即状态)和方法(即操作),状态反映对象的存在,方法就是接口。2、COM对象的标识-CLSIDGUID是一个128位的随机数,重复概率极低。它的值来源于两部分:空间值(网卡地址或随机数)和时间值。获得GUID值可以使用VC++提供的工具:GUIDGen.exe 和 UUIDGen.exe。或者使用...
模拟简单猜扑克牌大小的Win32控制台游戏

模拟简单猜扑克牌大小的Win32控制台游戏

模拟简单猜扑克牌大小的Win32控制台游戏2010-01-09在坛子里经常能看到MFC编制的GUI游戏,功能强大,界面美观,人机交互便利等优点是控制台程序是无可比拟的.但对于刚初步了解 C/C++的朋友们是无法短期内能学会编写MFC游戏的。于是小弟采用 Win32 控制台 项目做了一个C++的小游戏,希望对于那些朋友,对大一, 大二的学生编写字符界面的小程序有所帮助。该游戏的名称不妨命名为Hi(gh)-Low,其玩法和规则如下:1、玩法①洗牌:每盘游戏开始...
COM原理及应用----ActiveX控件

COM原理及应用----ActiveX控件

COM原理及应用----ActiveX控件2011-04-041、ActiveX控制ActiveX控制是Microsoft提供的功能强大的程序设计和开发技术。ActiveX控制既是一个自动化对象(当然也是一个标准的COM对象),也是一个界面元素,如同Windows的普通控制一样。ActiveX控制是一门综合技术,它涉及到COM和OLE的许多技术精华,同时也与Windows操作系统紧密结合起来,它可作为Windows标准控制的一种扩充机制。Microsoft...
浅谈在应用CRectTracker类的程序中响应WM_LBUTTONUP消息

浅谈在应用CRectTracker类的程序中响应WM_LBUTTONUP消息

浅谈在应用CRectTracker类的程序中响应WM_LBUTTONUP消息2010-01-09赵春生CRectTracker类也有人称之为“橡皮筋”类。我们可以通过Windows自带的画图板来了解这个类的作用:用“选定”功能在画图区随意选中一块儿区域,此时会出现一个由虚线和八个调整标记点组成的矩形选框,我们可通过鼠标点中矩形选框的中心移动其位置,并且能利用调整标记 点来改变其大小…&helli...
C++的++和--运算

C++的++和--运算

C++的++和--运算2011-04-06++是C++的自增运算符,作用是使变量自加1;--是自减运算符,作用是使变量自减1。++和--有两种用法,一种是前缀用法,一种是后缀用法。前缀用法如:++i、--i ,后缀用法如i++、i--,前缀用法跟后缀用法的差别在于前缀时++i的值为完成i加1后的值,--i为完成i减1后的值。例如:假设i的初值为3,执行cout<<++i<<endl;输出结果为4,而执行cout<<i++...
《Effective C++》读书笔记01:视c++为一个语言联邦

《Effective C++》读书笔记01:视c++为一个语言联邦

《Effective C++》读书笔记01:视c++为一个语言联邦2011-04-06 博客园 月光笛手都说c++难学。确实,这是由于c++过于庞大了,Meyers将庞大的c++分成了四个部分:1.;2.经典的面向对象c++:包括了class,封装,继承,多态,虚函数等经典的OO思想;3.c++模板编程,也称为泛型编程,这一部分相对内容较新,我个人正在学习《C++ Templates》加深理解;4.STL:vector,list,map,iterator相...
如何用Win32 SDK编程创建Tri-pane HTML Help窗口

如何用Win32 SDK编程创建Tri-pane HTML Help窗口

如何用Win32 SDK编程创建Tri-pane HTML Help窗口2010-01-09zxnHTML Help使用户能在一个帮助窗口中使用工具棒、查看目录和帮助主题。目前,有两种方法创建Tri-pane类型的HTML Help窗口:使用HTML Help Workshop创建窗口使用HTML Help API编程创建窗口本文将介绍如何使用这两种方法创建Tri-pane HTML Help窗口。使用预定义窗口在HTML Help Workshop环境中...
《Effective C++》读书笔记02:用const,enum,inline减少#define出场机会

《Effective C++》读书笔记02:用const,enum,inline减少#define出场机会

《Effective C++》读书笔记02:用const,enum,inline减少#define出场机会2011-04-06 博客园 月光笛手以前学习c语言时,老师教导我们,对于数字最好用宏(#define)来定义它。以至于 一直习惯于#define Age 12这样的写法。在的环境中,这确实是增加程序可读性的有效做法,可是在c++中,可以有更优 美的实现方式。1.当你写下#define NUMBER 11.12如果接下来使用NUBMER时出现了编译错误...
如何用C++编程获得某台机器的IP地址

如何用C++编程获得某台机器的IP地址

如何用C++编程获得某台机器的IP地址2010-01-09 VC知识库 对于这个古老的问题,VC知识库的精华区以及以往的在线杂志中都有详尽不一的描述。本文提供的方法是一个比较完整的解决方案,并附有详细的实现细节。希望大家对这个问题有彻底的认识。其实,如果你熟悉 Windows 的Sockets API,并了解一些底层的Winsock知识。那么要获得某台机器的IP地址并不是什么难事。一台机器可以装多块网卡,因此它就可能有多个IP地址。目前很多发烧友的PC机都...
实例解说双缓冲

实例解说双缓冲

实例解说双缓冲2010-01-09昨天在论坛上,有人问起双缓冲的实现问题,想起网上这方面资料比较凌乱,而且多是DirectX相关的,今天特地在这里给大家简要的介绍一下双缓冲技术及其在VC++的GDI绘图环境下的实现。1、Windows绘图原理我们在Windows环境下看到各种元素,如菜单、按钮、窗口、图像,从根本上说,都是“画”出来的。这时的屏幕,就相当于一块黑板,而Windows下的各种GDI要素,如画笔、画刷等,就相当于彩色粉笔...
《Effective C++》读书笔记04:确保对象在使用之前被初始化

《Effective C++》读书笔记04:确保对象在使用之前被初始化

《Effective C++》读书笔记04:确保对象在使用之前被初始化2011-04-06 博客园 月光笛手我自己在写代码的时候也经常会遇到忘记初始化某对象的问题,而且这些错误比较难 以调试,Meyers提出了一些避免这些错误的解决方法:1.手工初始化所以内置类 型:这一条很好理解,对于int,enum等内置类型,在使用前一定要初始化。2.对于类类型等用户自定义的对象,使用成员初值列初始化所有的对象:1 using namespace std;23 cla...
使用CSockets进行文件传送

使用CSockets进行文件传送

使用CSockets进行文件传送2010-01-09这是一对实现在两台计算机间传送文件的函数,我没有看到过使用CSocket进行文件传送的代码,希望此代码对你有用.代码中包含两个函数,第一个用于服务器端,第二个用于客户端.需要说明的是本文提供的方法并不适用于大型文件的传送.下面给出服务器端代码:void SendFile(){#define PORT 34000 /// Select any free port you wishAfxSocketInit(...
一个可重用的RAS类

一个可重用的RAS类

一个可重用的RAS类2010-01-09CRAS是一个MFC类,它封装了Windows的远程访问服务(Remote Access Service)。这个类的主要优点是通过LAN便可以连接到Internet,并且不用安装RAS,因为RAS DLLs是动态加载的。CRAS的使用非常简单。将CRAS文件添加到工程中,创建一个CRAS类实例并调用它的Initialize方法即可。BOOL CRAS::Initialize这个调用返回一个布尔值,[表示是否初始化成功...
《Effective C++》读书笔记06:如果不要编译器自动生成的函数,就明确拒绝

《Effective C++》读书笔记06:如果不要编译器自动生成的函数,就明确拒绝

《Effective C++》读书笔记06:如果不要编译器自动生成的函数,就明确拒绝2011-04-06 博客园 月光笛手有时候,我们需要定义一些独一无二的类,这些类是如此的特别,以至于我们不能将 其拷贝或者赋值:1 class Family {};23 Family mine;4 Family your;5 Family her(mine);//不能通过编译6 mine = your; //也不能通过可是上一个专题讲到,即使我们不定义copy构造...
<< 231 232 233 234 235 236 237 238 239 240 >>