DirectUI并不是什么私有的技术,只不过很少人用它,所以很少有人熟悉这种技术。这种技术的核心是IAccessible接口,每个窗口元素(不管有没有句柄)都可以实现这个接口,使用的事件机制和导航机制跟普通窗口完全不同,事实上操作系统提供的绝大多数窗口类型都支持这个接口,IE中的DOM元素也支持这个接口。
在VS开发环境中能看到MFC的CWnd提供了类似accNavigate/accXXXX之类的方法,这其实就是对IAccessible的实现。
微软网站上可以下载一个叫做 accExplorer.exe 的工具,就是用来查看 DirectUI 窗口中的所有“子窗口“。
DirectUI 技术本身跟XML资源描述没有直接关系,它只是一种界面布局的描述文件而已,可以完全实现一个自己的描述格式,就像对话框模板一样。
另外还有一些公司对DirectUI封装成库来挣money。比较著名有UIPower和uieasy
相关网页如下:
i. http://www.uieasy.com/
ii. http://www.uipower.com/index.html
还有一些其他的相关网页可以看下