最近做的项目需要在程序中内嵌wmp activex插件。
不过最郁闷的是wmp配合ffdshow播放h.264文件的时候,窗口的大小完全没法控制。
非常的发指!
之后发现了两个可以解决的办法
1.拿到oleobjectinplace的指针,然后resize它。
这个方法不错,而且应该是标准方法才对。所有的OLE组建都支持如此改变size。但是wmp每次播放的时候还是会自己resize到指定的size。
要获取他的resize事件才能够搞定。只要resize就给他重置size。
2.由于使用的是ffdshow。所以要观察一下。ffdshow有个选项叫做resize。所以可以通过调整解码器本身的resize选项。
ffdshow使用的是注册表。所以每次播放前改变注册表就可以了。这里给出一个函数。