<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jameshooo的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jameshooo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jameshooo]]></copyright><item><title><![CDATA[史上最小的基于IE内核的多标签、多进程浏览器]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6937959</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6937959</guid><author>jameshooo</author><pubDate>Sat, 05 Nov 2011 11:36:25 +0800</pubDate><description><![CDATA[大约在四年前，CHROME浏览器刚刚面世不久，我尝试了一下，立即被它简洁的界面所吸引。当时市面上除了它和IE8，还没有多进程浏览器出现，不像现在，各种多进程浏览器横行。正因为CHROME，才激发了我做一个基于IE内核的多进程浏览器出来。大约在3年前，该浏览器完工，并取名Raptor。想验证执行效果的童鞋，可以下载这个资源（不需要资源分）；希望了解和学习源码的童鞋，下载这个资源（完整的VC工程源码，]]></description><category></category></item><item><title><![CDATA[走进REDUI —— 架构预览]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6677272</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6677272</guid><author>jameshooo</author><pubDate>Wed, 10 Aug 2011 22:57:07 +0800</pubDate><description><![CDATA[虽然开源了，但感觉还有很多的事情要做。
第一件要做的就是让大家能够理解 REDUI 的设计理念和系统架构，上手时间越短越好，所以恶补设计文档。光这件事就够头疼的，图文并茂的文章比写代码难多了，杯具！
第二件事是让人知道如何使用，工作量大啊，同样杯具。
第三件事……第N件事]]></description><category></category></item><item><title><![CDATA[值得期待：REDirectUI “开源”]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6592604</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6592604</guid><author>jameshooo</author><pubDate>Fri, 08 Jul 2011 16:06:38 +0800</pubDate><description><![CDATA[REDirectUI 正在筹划开源，但开源协议不同于任何一个现有的开源协议，它是弹性的，它针对有限的用户群。 一、为什么开源REDirectUI 曾经是一个个人爱好的产物，也曾经是一个目标宏大的计划，本人作为发起者，倾注了多年的精力和心血才使得它初具模样，只是它还没有发光。因个人]]></description><category></category></item><item><title><![CDATA[小SHOW一把，3D中的自由裁剪 ----- 界面库求合作！]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6340623</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6340623</guid><author>jameshooo</author><pubDate>Fri, 22 Apr 2011 09:58:00 +0800</pubDate><description><![CDATA[先看图（背景是桌面，3D老虎的脑袋被我武松砍下了半边^_^）：裁剪形状可以自由定义，这个裁剪路径的XML定义暂时记下来，省得以后不记得了：clip
:m
(.2,#
.2) b
(0,.2)(.2,0)(.5,.2) b
(#
.2,.2)(#
0,#
.2)(#
.2,#
.2) b
(#
.2,#
0)(.2,#
0)(.2,#
.2);裁剪路径系列的定义规则是这样的：一个路径包含一系列操作，每个操作的格式如下：operator [position1 [position2 ]]></description><category></category></item><item><title><![CDATA[宏定义的极致发挥---让你的普通C++类轻松支持IDispatch自动化接口(二)]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6136255</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6136255</guid><author>jameshooo</author><pubDate>Thu, 13 Jan 2011 20:44:00 +0800</pubDate><description><![CDATA[这是上一篇博客《宏定义的极致发挥---让你的普通C++类轻松支持IDispatch自动化接口》所展示的示例代码的改进版，改进之处有：     1、如果不想直接提供成员作为属性，可以用成员函数的方式提供属性读写。     2、支持基类映射表，即如果基类也实现了映射表，派生类不用重复填表，自动合并基类表项。唯一的要求就是DISPID不要重复。      3、可以同时合并多个基类映射表。      4、添加可选参数支持，比如某个方法有5个参数，后3个为可选参数（有默认值），那么调用者可以只用2个参数来调用。   ]]></description><category></category></item><item><title><![CDATA[如何获得一个COM接口的事件源的GUID]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/6097229</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/6097229</guid><author>jameshooo</author><pubDate>Fri, 24 Dec 2010 23:11:00 +0800</pubDate><description><![CDATA[最近坛子有人问起怎样从一个HTML元素接口获取它的连接点的DIID，这个问题本来不是个问题，用OleView看看组件的类型库信息，马上就能得到它的事件接口GUID，问题在于当得到一个 IHTMLElement 指针时，它到底是那种元素类型？每种元素类型的连接点接口是不同的，所以必须要动态获取事件GUID才能挂接到组件上。  想起我正在做的界面项目，已经实现了动态获取功能，就共享一下源码吧。这段源码封装到了一个类的成员函数里面，现在原封不动地贴出来，有少量内容跟目标无关，但不影响代码的阅读和理解，关键注释已经]]></description><category></category></item><item><title><![CDATA[个人网站启用新域名]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/5967954</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/5967954</guid><author>jameshooo</author><pubDate>Tue, 26 Oct 2010 22:53:00 +0800</pubDate><description><![CDATA[<br />新的域名是www.huyuhan.net
，旧域名www.huyuhan.com于2010年11月底前停用，停用前还能继续使用，内容跟新域名完全相同。<br /> <br />旧的.com域名是在万网申请的，实在受不了国内JS的唯利是图，随便搞个东西都要收费，而且价格不菲。我使用的是美国主机，除了国内访问速度相对较慢（50KB的速度其实也不错了），哪项都比国内强：主机稳定无限流量无限带宽。可怜的国内用户享受不了无限硬盘空间。你可以建立一个大型的下载网站或者视频网站无限域名网址。一个账号可架设任]]></description><category></category></item><item><title><![CDATA[3D正式成为REDirectUI的渲染选项]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/5953365</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/5953365</guid><author>jameshooo</author><pubDate>Wed, 20 Oct 2010 10:11:00 +0800</pubDate><description><![CDATA[<br />终于在REDirectUI中添加了D3D渲染方式，这只是底层渲染方式，仅作为第一步。启动渲染引擎时并不要求一定要使用D3D，只在显式指定使用D3D且机器具备硬件加速能力的情况下才使用D3D，否则仅使用DDRAW。<br /> <br />由于这只是UI引擎，并非为游戏而设计，因此更多的CPU时间用来处理标准窗口消息，而不是循环render frame。游戏的目的是处理大量的渲染细节，因此通常都是贴图再贴图，游戏程序员通常不考虑GDI，但REDirectUI非得考虑GDI不可，因为作为一个UI引擎]]></description><category></category></item><item><title><![CDATA[个人网站 http://www.huyuhan.com/ 上线，刚刚起步，内容正在充实中……]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/5088039</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/5088039</guid><author>jameshooo</author><pubDate>Sun, 27 Dec 2009 23:05:00 +0800</pubDate><description><![CDATA[留个记号作为纪念。]]></description><category></category></item><item><title><![CDATA[继续逼近FLASH效果]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4542091</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4542091</guid><author>jameshooo</author><pubDate>Fri, 11 Sep 2009 11:45:00 +0800</pubDate><description><![CDATA[DirectUI 最近特性：  1、任意透明、半透明或不透明。目前除了FLASH、WINFORM，还不知道谁实现了。  2、支持2D/3D变换。FLASH据说也想加入3D功能。这是FLASH的弱项，FLASH的动画就是图片的动画，不是可编程变换，也许有但我不知道。  3、分层思想。大家都是一致的哈。  4、在ALPHA透明显示模式下，无窗口控件、有窗口控件任意混用。应该是独此一家吧，没听说过FLA]]></description><category></category></item><item><title><![CDATA[宏定义的极致发挥---让你的普通C++类轻松支持IDispatch自动化接口]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4522938</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4522938</guid><author>jameshooo</author><pubDate>Sat, 05 Sep 2009 09:25:00 +0800</pubDate><description><![CDATA[    这篇文章其实有两个主题：一个是充分利用宏的特性把代码最大程度简化；另一个是如何在现有的项目中添加自动化支持。要我说哪一个主题更重要，对不起我也不知道，因为两个主题是紧密关联的，后面的介绍将以宏的使用为主，自动化接口只是宏的一种应用。      熟悉MFC和ATL/WTL的人一定都很熟悉它们的消息映射表，利用宏进行填表是一种非常简洁非常优雅的编码方式，通俗易懂维护方便。对于宏来说，使用越是简]]></description><category></category></item><item><title><![CDATA[如何判断两个COM指针是同一个对象]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4235388</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4235388</guid><author>jameshooo</author><pubDate>Tue, 02 Jun 2009 11:38:00 +0800</pubDate><description><![CDATA[故事起源于我移植V8到IE中的过程，在优快云论坛上也发现不少问此问题的人，所以特地整理一篇文章来解释这个问题。 这个问题本来是一个非常简单的问题，COM指针也是指针，既然是指针，只要它们的值相同，就表示它们指向相同的COM对象，如果不同则表示不同对象。假设要写一个判断函数的情况下，表示成这样：bool is_com_equal(IUnknown* unk1, IUnknown* un]]></description><category></category></item><item><title><![CDATA[谷歌开发新图形验证码防止恶意非法注册]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4212389</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4212389</guid><author>jameshooo</author><pubDate>Sun, 24 May 2009 14:35:00 +0800</pubDate><description><![CDATA[左边是传统的验证系统，右边的新验证系统则要求用将图形旋转到正确方向 　　新浪科技讯 北京时间5月24日上午消息，据国外媒体报道，谷歌研究人员最近正在测试一项新的图形验证码程序，该程序要求用户将随机颠倒的图片调整为正确的方向。　　复杂图片识别　　非法程序一直在试图利用机器在网站自动注册并实施破坏，但图形验证码程序却可以阻止它们的进入。图形验证码程序一般是几个歪歪斜斜、弯曲的字]]></description><category></category></item><item><title><![CDATA[终于实现了窗口的半透明效果，展示一下，自我庆祝一下]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4161871</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4161871</guid><author>jameshooo</author><pubDate>Fri, 08 May 2009 20:43:00 +0800</pubDate><description><![CDATA[ 不同于普通的窗口半透明，有几个特点：1、标题栏和边框维持不变（不透明），当然也可以取消标题栏2、客户区随意透明3、部分内容不透明4、窗口内容可操作]]></description><category></category></item><item><title><![CDATA[近来论坛流行要源码]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4128351</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4128351</guid><author>jameshooo</author><pubDate>Mon, 27 Apr 2009 11:20:00 +0800</pubDate><description><![CDATA[ 最近几天看论坛，发现很多人都是开门见山要源码，而且是整套整套的要，我实在想不明白。 1、网上有很多源码，他们找过吗？如果找过，是什么原因不用？看不懂？无法全部满足需求？还有一种我很不想说的原因——懒！很懒！首先自己懒得写源码，不懂又懒得学，好不容易找到源码又懒得看，需求不满足又懒得改，于是上坛子寻找，希望有人帮他搞定一切。你拿工资是干什么的？别人帮你搞定了，你是不是应该把工资都奉]]></description><category></category></item><item><title><![CDATA[我是如何用 V8 脚本引擎替换JScript的 —— （四）准备3]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4102790</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4102790</guid><author>jameshooo</author><pubDate>Thu, 23 Apr 2009 11:31:00 +0800</pubDate><description><![CDATA[ 掌握V8的架构和使用过程V8内部架构相当复杂，但是使用还是很方便的，因为V8把所有功能实现封装到内部的命名空间中，只给使用者提供了相当简洁的外部封装类，这些类都在一个叫做v8的命名空间中，全局函数封装在V8命名空间中（注意大小写有别）。V8引擎使用上的便捷性体现在多个方面：l  大量采用模板类，统一了所有脚本对象的内存管理和垃圾回收。l  所有脚本对象不允许直接在堆或栈上构造，这]]></description><category></category></item><item><title><![CDATA[我是如何用 V8 脚本引擎替换JScript的 —— （三）准备2]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4100550</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4100550</guid><author>jameshooo</author><pubDate>Wed, 22 Apr 2009 15:18:00 +0800</pubDate><description><![CDATA[ 满足Jscript的现有功能特性在脚本语法上，Jscript跟标准JavaScript的语法基本相同，没有特别需要关注的地方。在标准特性上，Jscript除了ECMA标准特性之外，扩充了许多非ECMA标准的特性，必须仔细找出V8尚未实现的部分。下面列出了一部分：VBArray对象条件编译语句Enumerator对象Error对象===和!==操作符Active]]></description><category></category></item><item><title><![CDATA[我是如何用 V8 脚本引擎替换JScript的 —— （二）准备1]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4100486</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4100486</guid><author>jameshooo</author><pubDate>Wed, 22 Apr 2009 15:02:00 +0800</pubDate><description><![CDATA[ 移植前的准备： 准备工作最起码要做三件事情：1、完全理解微软的脚本引擎规范；2、完全满足Jscript的现有功能特性；3、完全掌握V8的架构和使用过程。 理解微软的脚本引擎规范众所周知，微软产品的每个角落都充斥着COM，脚本引擎也不例外。一个合格的脚本引擎必须首先是一个COM组件，并实现下表中列出的标准接口：IActiveScript – 这个接口是必须的，所]]></description><category></category></item><item><title><![CDATA[我是如何用 V8 脚本引擎替换JScript的 —— （一）前言]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4100465</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4100465</guid><author>jameshooo</author><pubDate>Wed, 22 Apr 2009 14:55:00 +0800</pubDate><description><![CDATA[ 前言： 看标题很容易给人误解，V8引擎本来就是跨平台的，为何还要移植？这个标题真的很不好取名，我的本意是想表达：微软有自己的脚本引擎规范，也有自己的JavaScript引擎，我尝试的事情就是用 V8 替换掉微软自己的 Jscript。这下应该说明白了，但用这个解释来做标题的话实在太长了。由此引来一个新问题：为什么要替换？原因很简单：尝试。我想尝试什么？由于V8开源，我不能把这个东]]></description><category></category></item><item><title><![CDATA[参加2009英雄会有感]]></title><link>https://blog.youkuaiyun.com/jameshooo/article/details/4097123</link><guid>https://blog.youkuaiyun.com/jameshooo/article/details/4097123</guid><author>jameshooo</author><pubDate>Tue, 21 Apr 2009 12:25:00 +0800</pubDate><description><![CDATA[     以往参加过很多产品推介会，却从未参加过任何类型的技术大会，这次收到邀请的时候，心里犹豫了一下，去还是不去？由于没有经验，对这种大会的直觉就是开着无聊的会，听着无聊的演讲，一群打着瞌睡的人，混一顿自助餐，拿点小礼品后走人。在这种会议上，我的作用就是填空，占领会场一个凳子，加一点人气，仅此而已。也只是犹豫了那么一下下，还是接受了邀请，心想可以见到那些久违的人，北京的老朋友很多，可以见]]></description><category></category></item></channel></rss>