WINDOWS
文章平均质量分 59
郁闷阳光
作为码农,建此博客的目的是记录工作历程中的点点滴滴,分享工作中的感悟、思考。
展开
-
一个用vc编的查看内存使用情况的程序源码
下载本文所附源代码程序运行效果截图: void CMemStateDlg::OnButton1() { // TODO: Add your control notification handler code here MEMORYSTATU转载 2011-09-29 13:58:51 · 667 阅读 · 0 评论 -
应用程序中超文本浏览功能的设计与实现
摘 要 本文介绍了 Microsoft 公司提供的 IE 控件,以及在应用程序中利用 IE 控件实现超文本浏览功能的两种方法。 关键词 IE控件,控件包容器,超文本,浏览 具有非线性表达方式的、符合人类认知模型的超文本模式,已成为文本库组织结构的主流。转载 2011-09-29 14:14:55 · 531 阅读 · 0 评论 -
一种可用于系统动态显示关于信息的方法
下载本文所附源代码关键字 帮助文件信息显示原作者姓名 戚高文章原始出处 VCzx.com 介绍一般的系统帮助文件在显示关于帮助信息的时候大部分采用的方法是静态的形式将要显示的内容显示到界面上,由于这次担任项目开发,我总觉得那样太单调了,于是,在转载 2011-09-29 11:38:34 · 404 阅读 · 0 评论 -
用ATL和MFC来创建ActiveX控件的比较
本文假定你熟悉MFC, ATL, and COM 摘要目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框转载 2011-09-29 14:26:13 · 741 阅读 · 0 评论 -
MFC如何封装WINDOWS应用程序的流程
MFC封装了WIN API.大家都知道.但是MFC应用程序的真正流程又有多少人知道呢? 下面就是我对MFC启动代码的一些剖析. 大家都知道,标准WIdonws程序的入口函数是WInMain(),但是我们在MFC生成的应用程序中,完全找不到其踪迹,查原创 2011-09-29 14:38:13 · 776 阅读 · 0 评论 -
VC编程技巧整理
今天,有个朋友说起论坛中有些问题可以整理成文章,这样也好查找一些,于是就将一些有用的技巧整理了一下,供大家学习。有的来源于网上。一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL);转载 2011-09-29 11:35:55 · 426 阅读 · 0 评论 -
如何在windows程序中读取bios内容
下载本文所附源代码今天和夜月兄讨论了一下在Windows nt/2000/xp下如何读取bios信息,现在把结果向大家汇报一下。 大家都知道,Windows接管了对物理内存的直接存取,而bios信息存在物理内存的f000:0000处,关键就是如原创 2011-09-29 11:47:32 · 628 阅读 · 0 评论 -
在VC中透明浮动按键的实现
有一种按键,看起来是一幅完整的图片,当鼠标移到按键区域时,图片的一部分凸现,形成一个按键,当鼠标移走时又恢复原来状态。 最近,看了一些关于浮动按键的代码,其原理大致上跟CBitmaPButton差不多,用数幅位图代表按键的各个状态,响应鼠标的各种消息来设置按键的状转载 2011-09-29 11:51:12 · 869 阅读 · 0 评论 -
MFC中常用类、宏、函数的简单介绍
闲来无事,整理了一下MFC中常用的类、宏、函数。 常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r,原创 2011-09-29 14:44:52 · 372 阅读 · 0 评论 -
MFC中用正则表达式进行有效性验证
正则表达式最实用的一个地方是验证用户输入。它可以轻松验证邮编、电话号码、信用卡号码——以及现实世界中各种类型的信息。一个正则表达式可以替换成打甚至上百行过程代码。Unix和Web编程语言如Perl从一开始就有正则表达式,但在Windows世界或MFC,从来都是使用第三方库,一直到转载 2011-09-29 14:47:01 · 508 阅读 · 0 评论 -
如何创建非模态对话框
无模式对话框与有模式对话框不同的是在创建后其他窗口都可以继续接收用户输入,因此无模式对话框有些类似一个弹出窗口。创建无模式对话框需要调用 BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );之后还转载 2011-09-29 11:49:57 · 556 阅读 · 0 评论 -
CRuntimeClass的应用
CRuntimeClass在MFC中的作用很重要,因为MFC利用它来进行类的动态确定,即是通过类变量来判定该变量是否为某一类的实例。由于指针的类型是可以转换的,所以时常会出现从A到B的转换导致错误。而在MFC的各种书籍中对CRuntimeClass的介绍是比较少的,在这里总结它的原创 2011-10-13 11:40:23 · 491 阅读 · 0 评论 -
在 ODBC 中应用DDX 和 RFX
MFC 中ODBC 类库简介----MFC 中针对ODBC数据库编程提供了五种基类。这些类封装了有关ODBC的API调用,使用 户能够利用ODBC完成不同类型的数据库编程工作,如访 问Foxpro、dBASE 或Sybase 等不同类型数据库文件,从而避开各种类型数据库文件的原创 2011-10-13 11:48:48 · 708 阅读 · 0 评论 -
VC++5.0定制窗口的方法
VC++5.0是Microsoft新近推出的可视化C++集成开发环境。它在继承以前VC++的基础上增加了许多新的功能,用于支持Win32平台应用程序、服务程序和控件的开发。VC++5.0提供了强大、快捷的编程工具,其中最基本的是三个导航: AppWizard用于程序框架的生成,A原创 2011-10-13 11:38:51 · 440 阅读 · 0 评论 -
如何确定Windows和Windows系统目录
有两个SDK函数可以完成该功能。GetWindowsDirectory和GetSystemDirectory,下例说明了如何使用这两个函数:TCHAR szDir [MAX_PATH];//Get the full path of the windows director原创 2011-10-13 11:42:40 · 355 阅读 · 0 评论 -
在MFC加入"这是什么?"的帮助提示
MFC在CPropertySheet中封装了属性,但不支持标题的"这是什么?"帮助提示.函数CPropertySheet::OnNcCreate()屏蔽了扩展风格WS_EX_CONTEXTHELP, 因此,即使你在构造函数中加入了扩展风格,它也不能出现在窗口中.解决方法很简单原创 2011-10-13 11:44:37 · 534 阅读 · 0 评论 -
获取进程的当前目录
系统记录中进程的当前驱动器和目录,但是并非为所有的驱动器记录当前目录。不过,操作系统通过环境变量对其有一些支持。 =c:=c:\ultil\bin =d:=d:\program如果我们调用Win32函数的时候,传递给它一个指定驱动器,并且该驱动器不是当前驱动器,系统就原创 2011-10-13 17:05:05 · 477 阅读 · 0 评论 -
VC调试技巧
首先设置断点在类观察器中设置函数断点,先选择一个函数,然后从相关菜单中选择设置断点,或按F9键. 你也可以使用工具栏中查找组合框来输入函数名,然后按F9设置断点.PID向导如果你想附加一个过程,却没有过程的ID,那么使用过程观察器(PVIEW). (PID). 要记住原创 2011-10-13 11:43:52 · 288 阅读 · 0 评论 -
截获WINSOCKET
TCP/IP协议是目前各网络操作系统主要的通讯协议,也是 INTERNET的通讯协议,WIN95/NT平台提供了TCP/IP协议的实现函数库WINSOCKET(WSOCKET.DLL)动态库,因而可以利用WINSOCKET 编写基于TCP/IP协议的应用系统。(UNIX平台提供B原创 2011-10-13 11:45:36 · 516 阅读 · 0 评论 -
WinInet开发Internet客户端应用
一个Internet客户端程序的目的是通过Internet协议如:Gopher, FTP, or HTTP来存取网络数据源(服务器)的信息。一个Internet客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据。Internet客户端程序可以通过外部网络(Intern翻译 2011-10-13 11:52:34 · 331 阅读 · 0 评论 -
怎样加载其他的应用程序?
三个SDK函数 winexec, shellexecute,createprocess可以使用。WinExec最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说一下,比如泥用 SW_SHOWMAXMIZED方式去加载一个无最大化按钮的程序,就是Neterm,c原创 2011-10-13 11:53:52 · 369 阅读 · 0 评论 -
进程的实例句柄
WinMain函数中的句柄值实际上是个基本内存地址,它指出系统在何处把EXE文件装载入进程的地址空间。例如,如果系统打开了可执行文件,在地址0X400000处装载了它的内容,那么进程实例句柄的值就是0X400000。这个基本地址是连接器决定的,当然,我们也可以自己设定,不同版本的原创 2011-10-13 10:41:04 · 994 阅读 · 0 评论 -
创建临文件
//get unique temporary file.CString strFile;GetUniqueTempName (strFile);TRY{//Create file and write data.Note that file is closed原创 2011-10-13 11:47:42 · 333 阅读 · 0 评论 -
Visual+C+++中的+ODBC+编程
摘要:ODBC(Open Database Connectivity,开放式数据库连接),是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的标准应用程序接口(API)。本文给出Windows95环境下用VisualC++进行ODBC编程的具体方法及 技巧。关键字翻译 2011-10-13 11:49:58 · 584 阅读 · 0 评论 -
如何检索原先的Task Manager应用程序使用的任务列表
原先的Task Manager应用程序显示顶层窗口的列表。为了显示该列表,窗口必须可见、包含一个标题以及不能被其他窗口拥有。调用CWnd:: GetWindow可以检索顶层窗口的列表,调用IsWindowVisible、GetWindowTextLength以及GetOwner可原创 2011-10-13 11:55:41 · 380 阅读 · 0 评论 -
如何访问预定义的GDI对象
可以通过调用CDC:: SlectStockObject使用Windows的几个预定义的对象,诸如刷子、笔以及字体。下例使用了Windows预定义的笔和刷子GDI对象在视窗中画一个椭圆。//Draw ellipse using stock black pen and gray原创 2011-10-13 11:57:44 · 690 阅读 · 0 评论 -
进程的创建以及退出
我们可以在程序中调用CreateProcess(),创建一个进程,该函数会创建一个进程内核对象以及一个线程内核对象,并且将 其计数设为1,在该函数成功返回前,会将子进程的进程内核对象以及线程内核对象句柄拷贝到结构体中,因此,该函数成功返回后,进程内核对象与线程内核对象的计数都变为原创 2011-10-13 22:43:26 · 652 阅读 · 0 评论 -
Windows中如何计算时间间隔(2)COleDateTime 和COleDateTimeSpan类
COleDateTime 和COleDateTimeSpan 也是常用的2个时间类,其用法类似于前面的CTime和CTimeSpan.先分别进行说明,下面的内容引用自MSDN。 COleDateTime没有基类。 COleDateTime类封装了OLE自动化中原创 2011-10-17 11:31:08 · 3227 阅读 · 0 评论 -
Windows中如何计算时间间隔(1)使用CTime 和CTimeSpan
时间函数在我们的程序中是使用频率较高的函数,现将其归纳总结一下,这一章主要讲下CTime 和CTimeSpan,前者表示一个时间点,而后表示一个时间段。CTime代表的是绝对时间,CTime andCTimeSpan 没有虚函数,大部分函数为内联函数,类对象的大小都为8.CT原创 2011-10-17 10:56:22 · 3615 阅读 · 0 评论 -
Windows中如何计算时间间隔(2)使用SYSTEMTIME和FILETIME
SYSTEMTIME和FILETIME是两个结构体,定义如下:typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD原创 2011-10-17 11:58:56 · 2387 阅读 · 0 评论 -
遍历文件夹并建成目录树
前些日子,我在做程序中遇到这样一个问题,要用树型控件快速浏览指定文件夹中的文件,经过一番周折,终于做出来了,想到有些仁兄可能遇到和我相同的困难,所以将我的做法写出来,希望对大家有些帮助!基本原理是用了函数的递归调用,再加入参数跟踪。我在调试程序的时候,跟踪发现:程序只有在原创 2011-10-17 14:22:10 · 545 阅读 · 0 评论 -
遍历文件夹并建成目录树(2)
这个是在上个版本上面修改而来,没有目录级数的限制。BOOL CFileTreeDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Set the icon for this dialog. The framewo原创 2011-10-17 15:45:55 · 732 阅读 · 0 评论 -
基于SPI的数据报过滤原理与实现
一、个人防火墙技术概述 随着网络安全问题日益严重,广大用户对网络安全产品也越来越关注。防火墙作为一种网络安全工具,早已受到大家的青睐。在PC机上使用的个人防火墙,很大程度上成为广大网民的安全保护者。Windows下的个人防火墙都是基于对数据报的拦截技术之上。当然在具转载 2011-10-18 09:45:55 · 431 阅读 · 0 评论 -
隐藏你的鼠标
一、建立一个单文档的应用程序框架二、为隐藏主窗口,将OnCreate 删除。并在App类里修改m_pMainWnd指向ShowWindow(SW_HIDE)三、现在在mainframe的实现文件里添加如下内容:POINT mp,cursorNew;//////原创 2011-10-18 10:06:34 · 314 阅读 · 0 评论 -
使用ADO封装类的数据库程序开发实例(下)
{TRACE(_T(":( 连接数据库发生错误: %s\n"), e.ErrorMessage());return FALSE;} catch (...){TRACE(_T(":( 连接数据库时发生未知错误:"));}return FALSE;}使用之前先定义一个CAdoConn原创 2011-10-18 10:11:02 · 365 阅读 · 0 评论 -
在资源文件中加入声音资源
本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音。1,首先用文本编辑器(如记事本)打开资源文件(.rc文件)在最后加入自己的声音资源,如下IDW WAVE "c:\\kav\\sound\\virus.wav"保存资源文件。2,原创 2011-10-18 10:59:32 · 424 阅读 · 0 评论 -
一个简单的读写注册表实例
一、说明: 注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息。注册表中的值通过其名称标识。值名称由与键名相同的字符组成。值本身可以是字符串、二进制数据或者是32位无符号值。在这里我们主要运用以下技巧:(一)、预定义的注册表键。注册表包含原创 2011-10-18 11:53:48 · 341 阅读 · 0 评论 -
在MFC程序中显示JPG/GIF图像
如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂。但是C++程序员要显示同样的图形却没有那么轻松,那么是不是要自己编写JPG解压缩代码呢?当然不用那么复杂啦!本文将针对这个问题讨论如何在MFC中显示JPG或原创 2011-10-18 13:45:17 · 431 阅读 · 0 评论 -
使用const的一些建议
1 要大胆的使用const,这将给你带来无尽的益处,但前提是你必须搞清楚原委;2 要避免最一般的赋值操作错误,如将const变量赋值;3 在参数中使用const应该使用引用或指针,而不是一般的对象实例,原因同上;4 const在成员函数中的三种用法(参数、返回值、函数原创 2011-10-18 14:07:18 · 284 阅读 · 0 评论 -
通过ODBC读写Excel表格文件
首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:1. 在StdAfx.h文件中加入: #include #include 2. 通过ODBC直接创建Exc原创 2011-10-18 14:16:13 · 609 阅读 · 0 评论