为啥叫另类? 因为不是真正的实现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插件形式实现的