注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

关于DirectUI界面技术(QQ、MSN界面)  

2011-02-18 21:37:40|  分类: vc界面编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原本打算实现自己的DirectUI界面库,于是就研究了一下。

DirectUI界面的几个特性:
(1)无窗口。这点很重要,可以保护软件隐私。
(2)xml布局。以往的VC界面库,很多都是需要自己编写代码调整布局,很麻烦。DirectUI采用xml对界面进行布局,从而让程序员从界面编写的繁杂劳动中脱离出来。
(3)脚本。javascript、vbscript等脚本和VC代码交互,甚至替代VC代码。

几个缺点:
(1)目前的很多公司所宣称的DirectUI界面,和微软的WPF还是有很大区别的。它们还是使用GDI、GDI+实现,而微软的WPF才是采用了DirectX技术的。所以,这些公司的界面库,其实只是个无窗口的界面库。
(2)xml布局。使用xml布局,使得界面设计变得复杂。原先,界面设计器中拖动几个控件就可以完成的工作,现在却不得不反复修改xml文件来调整。
(3)脚本安全性。脚本本身是不安全的。比如,如果界面库暴露这样的接口: Exec("*.exe"),脚本中调用:Exec("工具.exe");然而,如果修改脚本文件,使得为:Exec("木马.exe")。那么,这个界面库就成了木马引导器。
(4)加大反破解的难度。由于DirectUI界面库需要和脚本交互,所以,需要使用com技术。而使用com技术的软件,等同于公开了调用接口。于是,一旦一个DirectUI界面库被其他人获取到,任何人都可以轻松地使用这个DirectUI界面库,且不需要作任何破解。
        为此,一些软件,例如QQ等,都将界面库和软件关联,在界面库的dll中嵌入自己软件的代码,使得界面库的dll无法被第三方软件轻易地调用。
(5)灵活性不够。DirectUI界面库类似于Android的界面,通过xml文件定义界面。然而,目前的很多DirectUI界面库无法实现一些特效。

所以,我决定,不使用DirectUI,而是改用一般的界面技术,同时实现几个无窗口的控件,这样,MFC也可以调用。不通过脚本交互,增强安全性。

 

2010.03.04注:

脚本安全问题。经试验,不存在这个安全隐患,windows已经替我们考虑到了。

关于DirectUI的界面控件图像融合,去年我在自己的界面库中已经实现,是自绘Windows标准控件的方式。

By:zhanyonhu

  评论这张
 
阅读(4177)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016