发现 firefox/safari for windows 等类软件
界面(如一些对话框上的按钮等)控件并非windows的本身的窗口服务,
但外形确像windows自身的,特别是 按钮,看上去就像windows自身common ctrl中的button,但又
找不到窗口句柄.而且 这两个浏览器网页中的 按钮 显示也同windows自身的.不知此类(技术)是如何实现的?

解决方案 »

  1.   

    用SPY++看一下,他使用的不是普通的窗口
    都是类名为MozillaWindowClass的窗口
      

  2.   

    有的是没句柄的,用GDI画出来的,自己做消息响应处理
      

  3.   

    画出来是肯定的问题是怎么画出来的 和 windows本身的按钮界面一样这些软件不可能模仿windows的界面来画( windows gui有这么好的模仿价值么?).所以windows 肯定提供了某个接口,方便绘制控件外形 ;不知是哪个接口??
      

  4.   

    如果它用了java,spy++还能探测到吗?
    呵呵,我也不懂,猜的。
      

  5.   

    我将xp主题换到 "经典" 这些界面也跟着 变成经典模式.到safari的安装目录看看,竟发现 safari for windows的对话框中的 "控件" 都是 html 页面元素!safari 是利用了其网页渲染引擎.
    看看firefox 的安装目录里有着.jar文件 不知它是否在利用java?发现两个浏览器都用到了 Windows Presentation Foundation
    我对WPF了解不深,只知是与界面/控件之类相关,所以 锁定了WPF.研究中...