存档

2012年4月 的存档

VS2008 SP1 MFC程序在Windows 2000下提示找不到gdiplus.dll

2012年4月20日 没有评论

用Visual Studio 2008 SP1写了一个MFC程序,拿到Windows 2000下运行的时候提示找不到gdiplus.dll,这个程序确实不需要gdiplus.dll,但在导入表中确实有gdiplus.dll。就是SP1的补丁搞的鬼。

微软在Visual Studio 2008 SP1补丁发布时特地说明不要gdiplus.dll MFC程序也可以在2000下运行(Bugs fixed in MFC in Visual Studio 2008 SP1):

Running MFC applications on Windows 2000 (with or without GDIPlus.dll) is supported.
在CodeGuru上的一个帖子MFC and GDI+ problem上找到了解决方案:
把CProjectNameApp的基类从CWinAppEx改为CWinApp就行了,是要改动三处:

头文件ProjectName.h中类的定义:class CProjectNameApp : public CWinApp[……]

Windows INI文件API不支持UTF-8

2012年4月17日 没有评论

和编码接触的多了新建文件基本都用UTF-8编码了,于是神经质的建了一个UTF-8编码的配置文件,用Windows的GetPrivateProfileString总是获取不到正确的信息,也没有任何错误提示,GetLastError()返回的是S_OK。后来把编码改回ANSI就能正确获取结果了。

不过MSDN里面说INI这种玩意还是少用的好,要用注册表:

Note: This function is provided only for compatibility with 16-bit Windows-based applications.
Applications should store initialization information in the registry.[……]

GZip magic标志0x8B1F

2012年4月7日 4 条评论

曾遇到过一个特殊的文件,格式未知,就特地搜索了一下文件前面的两个字节,是0x8B1F(就是通常所说的magic number了),猜测极有可能是GZip了,不过解压的时候CRC校验失败了。
GZip常用于服务器像浏览器传送数据时进行数据压缩处理,类似的技术还有Defalte,小站就采用了这样的技术,加快页面的响应请求。在发送GET请求时,如果指明支持GZip或Deflate,如“Accept-Encoding:gzip, deflate”,那么实际传送过来的数据就是经过了压缩处理的,如果是浏览器[……]

继续阅读

分类: Python 标签: , ,

Python脚本拉取优酷高清视频FLV下载地址

2012年4月1日 9 条评论

为了不浪费你的时间,首先要说明的是,Flv地址是通过第三方网站生成的!
场景:迅雷和旋风的李先下载都没有任何速度,完全无法忍受不能下载视频的痛苦啊!但是,打开视频网站,加载速度出奇的块,能不能直接从视频网站拉取视频呢?视频网站一般是不给下载地址的,但优酷又提供高清视频,嘿嘿~通过第三方网站Flvcd可以拉取下载地址,但一般视频网站都会吧视频文件分割成很多份,复制地址再粘贴的Ctrl+C和Ctrl+V显得有点别扭,就写个脚本拉取地址吧。

通过python提供的urllib2和re模块就可以了,把下载地址都写入一个lst文件(迅雷和旋风都支持批量读取地址下载),当然这个工作可以在IE下右键迅雷批量下载,但我的网络貌似迅雷不可用![……]