摘要:
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 其中各参数的意义: LPCTSTR lpAppName 是INI文件中的一个字段名. LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名 阅读全文
摘要:
一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件划分成许多模块,每个模块完成各自不同的功能,尽量做到高内聚低藕合,这已经是一个很好的开始,我们可以把不同的模块分给不同的人去做,然后合到一块,这已经有了组装的概念了。软件工程的核心就是要模块化,最理想的情况就是100%内聚0%藕合。整个软件的发展也都是朝着这个方向走的。结构化编程方式只是一个开始。下一步就出现了面向对象编程,它相对于面向功能的结构化方式是一个巨大的进步 阅读全文
摘要:
功能需求是在程序中加载HTML代码并进行显示,为了实现这个功能,昨天徘徊了一个晚上,拿不定主意到底该用SDK还是MFC来实现,用SDK能实现的话,可以节约不少时间,因为现在我对MFC一窍不通。但SDK也不是这么容易玩转的,手上就一本《Windows 程序设计》的书可参考,而MSDN,虽然已经感觉到了MSDN的强大,但问题一是英文太差,问题二是不会使用MSDN查资料,在MSDN里很多资料通过目录都查不到,只有按关键词搜索,所以唯一可以依靠的就只有搜索引擎了。昨天晚上曾一度想学MFC,因为很多功能在MFC中实现起来比SDK简单多了,但几经思量,还是决定用SDK来实现,多用用SDK以后有时间和精力再 阅读全文
摘要:
1.实现Ctrl+C: ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);2.实现Ctrl+V: ExecWB(OLECMDID_PASTE,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);3.实现查找:MSHTML::IHTMLDocument2Ptr pdoc;_variant_t varinput,varoutput;IOleCommandTarget *pCmd;HRESULT hr;pdoc=GetHtmlDocument();hr=pdoc.QueryInterface(IID_ 阅读全文
摘要:
很多时候真的很羡慕VB/DELPHI程序员,他们可以方便的用各种控件来搭建一个应用程序。而我们呢,要使用ActiveX控件都要找大半天资料,而且还要手工做大量工作,真是不公平(呵呵,想想人家写硬件驱动的程序员,我们还是轻松多了嘛)。下面我就简单的来讲一下如何引用一个ActiveX控件,我以Flash控件为例:这里我就不一步一步讲了,有兴趣的话就下载源代码吧:)点击这里下载工程源代码// 首先要包含几个COM头文件// 因为要用到ATL容器窗口,所以需要初始化一个CComModule以及包含atlwin.h头文件#include CComModule _Module;#include #incl 阅读全文
摘要:
一、如何显示内存中的 HTML 网页 或者因为网页保密的考虑;或者因为软件分发的考虑,有的时候就需要让 IE 或 IE 浏览器控件显示内存或资源中的 HTML 网页。在 MFC 中,CHtmlView::LoadFromResource() 可以显示程序资源中的 HTML 内容。我们都知道MFC的 CHtmlView 其实是对 IWebBrowser2 的一个包装,但是在 IWebBrowser2 中却没有类似的方法。那么它是如何实现的那?步骤如下: 1、首先通过 IWebBrowser2::Navigate2() 显示一个网页,其目的是产生有效的对象,从而得到 IHTMLDocument2. 阅读全文
摘要:
不知不觉,三天的时间又过去了。这三天只做了一件事,那就是解决用socket下载图片并显示的问题。最初连怎么在SDK显示JPG/GIF图片的方法也不知道,只有不停的百度,不停的Google,本来以为这个问题比前两天MD5的问题简单,因为网上应该有现成的资料,但却硬是花了我整整三天的时间。不知是我找资料的能力有问题,还是基础知识实在太差,MSDN的强大功能又基本不会用。本来连我自己都认为这是一个简单的问题,用socket下载图片很简单,发送一个报文然后用recv函数就能接收图片数据了,问题的关键是我不知道怎么将接收的图片数据显示出来。今天晚上终于把这个问题解决了,其实真的很简单,关键代码还不到10 阅读全文
摘要:
结果还是没搞懂。看来还是得彻彻底底的研究一下,一直以来都是不敢碰算法这玩意儿的,无耐程序需要这么一个功能,需要对MD5作个小小的改进,手上本来都已经有了JS的实现代码,但搞了二天也不能用C来实现。所以,先补下基础知识,什么是字?什么是字节?按位异或运算,按位异与运算。接着再认识学习一下那个MD5算法的原理文档,还好有中文的,要不就惨了。这阵子也没学啥东西,就用SDK写了一个小软件来练手,对VC数据库编程、网络编程有了一些了解,一转眼就过了一个多月。上个月在当当网买了本《C++ Primer》,到现在也没翻几页,买书时的想法是先把C++学好了再学MFC,但现在还是想多用用SDK,再熟悉一下C。其 阅读全文
摘要:
取父窗口的窗口句柄:hwndParent = GetParent (hwnd) ;发送消息:SendMessage (hwndParent, message, wParam, lParam) ;预定义的控件有:按钮、复选框、编辑方块、清单方块、下拉式清单方块、静态字符串标签和滚动条。当使用预定义的控件时,不必为其注册窗口类,窗口类已经存在于Windows中,并有一个预先定义的名字。您只需在CreateWindow()的参数中指出窗口类名字。CreateWindow()的窗口样式参数准确地定义了子窗口控件的外形和功能。Windows内建了这些控件的窗口消息处理程序。=============== 阅读全文
摘要:
服务器端源码:#include<winsock2.h> #include<stdio.h> #include<iostream> #pragmacomment(lib,"ws2_32.lib") intmain(void){WORDwVer;WSADATAwsaData;interr;wVer=MAKEWORD(2,1);err=WSAStartup(wVer,&wsaData);if(err!=0){return0;}SOCKETsocketServ=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_ 阅读全文