摘要:
相信即使再讨厌MFC的朋友也不会把厌恶牵扯到CString类上, 而且CString现在也提升为ATL和MFC的共享类。用CString类, 当然不能忘记它的Format方法,其用于格式化字符串。示例操作如下: CString strDemo; strDemo.Format( _T("数字为:%d, 字符串为:%s"), 1, strOther ); 很简单的使用.但我总觉得用的太多代码不美观(或许我有点洁癖吧),我总觉得一行代码的事用两行代码有点多余,于是我封装了StringFormatEx类.该类的封装风格借鉴了 ATL的字符串转换类的风格(如CA2TEX、CT2WEX等). 阅读全文
摘要:
IE程序是属于Shell的一个应用程序,要枚举当前打开的所有IE程序窗口,可以通过ShellWindows集合来打开属于Shell的当前的窗口的集合 阅读全文
摘要:
void EnumHTMLDocument( MSHTML::IHTMLDocument2* pDoc ) { if( pDoc == NULL )return; //遍历搜索子框架,递归处理子框架的文档 CComPtr spFramesCollection; pDoc->get_frames( &spFramesCollection ); lon... 阅读全文
摘要:
WIndows API函数CreateFile和CreateDirectory用于创建文件和目录,但设想这样一种情况:需要创建文件C:\test\test.txt,但是C:\test\目录不存在,简单地调用CreateFile不会成功了,创建目录也是一样。
我在Windows API找了很久,没找到能满足要求的函数,Shell API里也没有,于是只能靠自己实现了。
阅读全文
摘要:
ARP协议就是用来完成IP地址和MAC地址之间的转换工作,在ARP封包指定待获取MAC地址的局域网内的IP地址,然后发到局域网内,指定IP地址的机器接受到并返回一个ARP封包,并在返回的封包中指定自己的MAC地址。
这样就达到了获取MAC的目的。对于本机MAC地址同样可以这样获取。
阅读全文
摘要:
监控文件(夹)是开发中比较常用的功能.
Windows API函数FindFirstChangeNotification、FindCloseChangeNotification、
FindNextChangeNotification可以实现监控文件夹的改变,
但是不能具体指出改变的是哪个文件,自己写程序比较文件?有点舍本逐末了。个人觉得这些函数有些鸡肋。
还好ReadDirectoryChangesW能满足这种需求。
阅读全文
摘要:
最近看深入解析ATL这本书的时候看到ATL中的窗口类实现的时候,很是惊异于ATL的Thunk的运用技术,,ATL运用Thunk技术把C++的成员函数置换成Windows窗口的消息处理函数。那么更古老的MFC框架又是怎么实现CWnd类到HWND窗口类之间的映射的呢? 下面的文章将ATL和MFC的窗口封装机制做个对比. 阅读全文