Windows很boring,转战Mac和Web吧。
越来越觉得Windows很boring。
大部分Windows用户不会理解软件的精髓。
Windows把软件做烂了。
软件应该是Elegant的。
越来越觉得Windows很boring。
大部分Windows用户不会理解软件的精髓。
Windows把软件做烂了。
软件应该是Elegant的。
一些贴纸(超喜欢那个ambassador的贴纸,因为上面有一层厚厚的塑料),一件T-shirt(T-shirt很一般啊)。和一台Nokia C7。。。啧啧。。。



花了两天时间做了一个Caret类。。本来Windows有API来显示光标。但是这个API只能用在普通窗口上面。layeredwindow则不能显示。。
一开始打算在要显示光标的window上面不断的自我更新。但是发现Gdi的图像函数不能把DDB和DIB混合操作。。后来换了个简单点的方法,用一个pop[......]
那个Beta版得QtCreator看着不错。。。可惜我现在离不开Vim了。。VS2010的Vsvim插件很好使。。如果QtCreator的FakeVim能跟VsVim一样效果就挺完美的啊。。
还是试着将Qt的文本那部分移植过来吧。。。但是Qt text文件夹里面有将近100个文件啊。。坑爹咩。。。
不知道是不是更新了驱动的问题。现在MetalBone的Demo程序的Private Bytes居然高达70。。专用工作集也要20M,这样我用Qt不还更好么。。。虽然在不支持WDDM的台式机上面,Private Bytes没那么高,专用工作集也稍微低了几M。但是这样真的不可靠。
其实本来硬件加速什么的[......]
等待@jmorrill放出C++版本的DirectCanvas。之后MetalBone就用定它了。
MetalBone是一个windowless的C++ GUI Library。就是别人常说的DirectUI。项目地址:https://github.com/WarWithinMe/MetalBone。使用的是WWM协议(LGPL附加几个条件)。
之所以想试试Dll Injection,归根到底是因为我想玩COD6联机。校园网是绑定MAC地址的,所以我的笔记本只能修改MAC地址才能连上网。但是改了MAC地址的话,打开COD6又会出错。所以想试试能不能hack一下校园网的客户端。
好吧,实际上,我还是没得到我想要的结果。不过尝试一下[......]
using namespace std;
wstring readUTF8Text(const wstring& path)
{
HANDLE specFile = ::CreateFileW(path.c_str(),GENERIC_READ,
0,0,OPEN_EXISTI[......]
就拿图形来说。现在M$就有三套图形的。
第一个GDI,GDI本身一点好处都没有,C语言的API,又不支持Alpha。唯一就是硬件加速。同时搭配上GDI++,可以达到Mac的字体渲染效果。
第二个GDI+,C++的API,不支持硬件加速。使用方便,可以图像处理,效率却不高。
第三个Direct2D(D[......]
第一个就是ID2D1Bitmap::CopyFromBitmap()接口。(好像说ID2D1Bitmap::CopyFromRenderTarget()也有这个bug)。
大概症状:如果指定的source rect和dest rect,十有八九会导致overclip(过度裁切)的现象。
第二个就是利[......]
说得好听,我是一个完美主义者。
说得不好听,我只是一个强迫症病患者。
Anyway,我觉得很多东西都需要注重细节,追求到底。
想起之前做GMail的插件的时候一件小事。用OAuth来验证的时候,google要求用户复制一段验证码。一般用户复制这段验证码后,复制的文本最后会多一个空格。这样复制来粘贴去[......]
看过了《COM技术内幕》,《Essential COM》。在看《COM Programming by Example》。
《COM技术内幕》只有中文版,觉得可看可不看。《Essential COM》有些难度,是给认识COM的人看的。最后一本算是入门之作,将一些概念讲得很浅显的那种。。
决定用强迫自己写笔记的形式来加强学习效果。
(一)
COM里面所有的接口都必须要继承自IUnknown接口:
interface IUnknown
{
virtual HRESULT __stdcall QueryInterface(const IID& iid,void** p[......]