易语言开发IE工具条 -- 另类篇

来源:互联网 发布:知行理工下载 编辑:程序博客网 时间:2024/06/03 22:47

为啥叫另类? 因为不是真正的实现COM接口


过程: 

1:先获取IE的句柄 (方法很多)比如:FindWindowEx (0, 0, “IEFrame”, 字符 (0))  

2:通过API取得IE窗口的大小 GetWindowRect (IE句柄, 矩形数据)  

3:通过API创建一个新窗口。该窗口的左边、顶边、宽度 = 矩形数据左边 矩形数据顶边 矩形数据右边-左边      
    窗口创建完毕后可以再创建个编辑框和按钮  

4:用API 将新窗口的标题栏去掉 

    SetWindowLong (创建的窗口句柄, #GWL_STYLE, 369623040)     
    SetWindowLong (创建的窗口句柄, #GWL_EXSTYLE, 256)     
       #GWL_STYLE = -16    
       #GWL_EXSTYLE = -20 

5:通过API将新建的窗口移动到IE上。位置在窗口创建的时候已经设置好了     
   SetParent (创建的窗口句柄, IE的句柄) 

OK。此时已经完成了。  



本方法的缺点: 

1:要开一个进程监视是否有新IE进程,有的话上5步 

2:另一个缺点是要监视IE窗口的大小改变,自身新建窗口随IE窗口大小改变而改变   


缺点的解决方法:

1:采用BHO插件形式 

2:启动时创建个线程或者时钟事件一直判断窗口大小     本演示图片是以BHO插件形式实现的

0 0