分类 未分类 下的文章

关于打开多个USB摄像头的问题

  1. USB带宽由USB控制器决定;
  2. 电脑上不是每个USB口都独享一个USB控制器,可能多个USB口共用一个USB控制器;
  3. 共用一个USB控制器的所有USB口共用此USB控制器的带宽;
  4. USB2.0的设备由USB2.0驱动分配带宽,即使是接在USB3.0的口上;
  5. 台式机可以通过PCI-E的USB扩展卡来扩展出更多的USB口;
  6. 带有扩展坞接口的笔记本电脑可以通过扩展坞扩展更多的USB口;
  7. 使用USB HUB可以扩展多个USB口,但是无法扩展USB的带宽,仍然无法打开更多的USB摄像头;
  8. 带有雷电3接口的笔记本应该是可以通过雷电3接口扩展出更多的USB口(未测试);
  9. 可以尝试在USB3.0口上接USB3.0 HUB,使用USB3.0的摄像头(未测试);
  10. USB HUB需要外接电源型,防止供电不足;
  11. USB HUB需要购买质量较好的,测试过一个型号的几个外接电源USB3.0 HUB,有的口不能稳定拷贝数据,有的口不能识别2.0的设备,没有一个全部功能都好用的;
  12. 测试了belkin的USB3.0 HUB,非常稳定,价格较贵但好用。

基于Miniblink的WebBrowser控件CXMBWebCtrl

由于网站开启HTTPS导致客户端使用Windows的WebBrowser控件在XP系统下无法显示页面,查阅了浏览器内核相关资料后选择了开源小巧的Miniblink(官方主页https://weolar.github.io/miniblink)。

基于Miniblink封装了一个WebBrowser控件CXMBWebCtrl,基于控件CXMBWebCtrl写了一个简单的浏览器Demo,Demo代码下载地址:https://download.csdn.net/download/werocpp/11127189。

使用过程中遇到一些问题,记录如下:

  1. 作为MFC对话框子控件使用时接收不到键盘消息,这个只需要在控件的窗口处理过程函数中处理消息WM_GETDLGCODE即可;
  2. 超链接在新窗口中打开事件中有些URL获取不到,对于这种情况只能在本进程内打开此页面;
  3. 网页超链接启动本地应用程序,需要自己在回调函数中实现;
  4. 网页超链接下载文件需要自己实现,这里没有实现;
  5. cookies及localstoreage最好使用进程ID进行拼接存放路径,这里代码没有进行修改;
  6. wkeInitialize只需要调用一次,wkeFinalize不需要调用,这里代码没有进行修改;

控件类CXMBWebCtrl头文件如下:
阅读剩余部分 –

调试打印输出宏

调试程序时总是避免不了需要添加一些打印输出来确定问题,这里写了一个简单的调试打印输出宏。又检查了一遍代码,发现有的注释意义写错了,有的注释是复制后未进行修改,写代码时还是需要多注意细节。
阅读剩余部分 –

支持空间自动增长的可变缓冲区类CXVarBuf

很久以前写的支持自动增长的可变缓冲区类,当时处理数据时每次都需要申请释放,就写了这么一个类。后来才发现是自己重复制造了一个不怎么样的轮子,STL库中的string类不仅仅可以用作字符串类,还可以存放二进制数据,用起来更加简单方便,还是需要多看一些开源的代码,拓宽自己的眼界,可惜一直以来看的都不是很多,以后希望能够加强。

此类中使用了一个句柄来隐藏内部数据,站在使用者的角度去考虑问题,应该是只需要最少量的功能完备的简单接口,而不需要知道具体的数据及组织方式。
阅读剩余部分 –

分类目录

文章归档