有时候我们希望我们的程序只能运行一个实例。常见的一个方法是通过创建互斥对象实现。在主程序中加入如下代码即可实现: [crayon-673fb23d7608f402062656/]
有时候我们希望我们的程序只能运行一个实例。常见的一个方法是通过创建互斥对象实现。在主程序中加入如下代码即可实现: [crayon-673fb23d7608f402062656/]
背景 最近在学习duilib这个库,看了网上Alberl的教程,他那个仿迅雷播放器做的不错,我就直接拿来学习duilib了。不过这个播放器有个缺点,就是无法双击全屏,也就是鼠标放到libVLC播放窗口时无法响应消息,消息都被libVLC内部处理了。这对我们而言不是很方便。因为有时我们需要双击全屏,或者弹出鼠标右键菜单做一些操作。后来上网查了下,好多人遇到这个问题。下面是一些查到的解决方法。 解决libVLC无法响应鼠标消息 如下是查到的一些方法: 1)使用全局钩子; 2)修改libVLC鼠标消息处理代码,重新编译;…
1.背景 现在好多客户端程序都内嵌浏览器,有的用于实现界面,有的用于实现一些特殊功能,比如网易云音乐,QQ客户端,微信桌面客户端等。如果要内嵌浏览器,传统的方法是加入自带的IE webbrowser activex控件,但是IE对html5标准的支持不是很好,无法完成一些最新的功能。此时webkit就是最好的选择,可是webkit是一个很复杂的工程,编译也非常麻烦。好在有人替我们完成这个工作。有个叫libcef的库,实现了对webkit的封装,我们只需要直接调用就可以了,从而往我们的程序嵌入webkit浏览器,实现…
最近在做一个视频播放器,用到了libvlc,使用起来也是挺方便的,不过刚开始的时候遇到了一个问题: libvlc_new(0, NULL)这个函数总是返回NULL,后来发现是没把vlc的Plugins文件夹也放到程序执行目录,我只放了libvlc.dll与libvlccore.dll那两个dll文件,vlc初始化过程也需要初始化相应插件。放了之后,一切正常。 -------------------------------------------------------------------------------…
最近在写一个自动刷流量的程序,用到了WebBrowser 控件,通过该控件往程序嵌入一个IE浏览器,MFC中如何嵌入该控件可以看下参考链接1。 由于要自动刷流量,所以就要模仿用户平时浏览网页的习惯,也就是打开网页,然后慢慢向下滚动鼠标。在程序中我是通过滑动右侧滚动条实现的。刚开始我的代码是参照链接3给的,不过该代码在有些网页下实现不了滚动条滑动,也就是没反应。我上网Google了下,发现好多人也遇到类似情况,比如链接2与链接4中的内容,不过都没人给出答案。我自己也试了好多种方法,比如修改WebBrowser的IE版…
记得前面说到使用PortAudio抓取声卡输出音频,通过PortAudio确实可以实现,但是我研究发现无法基于PortAudio使用Wasapi抓取计算机输出音频,PortAudio只能使用Wasapi抓取麦克风的输入音频,而不能抓取计算机播放的声音。 先说下PortAudio如何抓取声卡输出: 1)条件:不开启立体声混音。首先我们要枚举所有设备,然后获取各个设备信息,得到设备的HostApiType,代码实现如下: [crayon-673fb23d7c335870725499/] 在上述代码中我们传入设备Inde…
最近在写一个EDID文件生成器,可以根据输入的一些参数生成EDID文件,大多数字节是固定的,主要是详细时序这几个字节的计算,界面用的是MFC,不过我重绘了,因为MFC原生界面太丑了。下图是EDID生成器初步的效果: 本文主要讲怎么绘制带颜色的标题栏,就像上图的蓝色背景标题栏。 1)首先是根据向导创建一个普通对话框程序,然后修改对话框Border属性为None。 2)在void XXXXDlg::OnPaint()函数中加入如下绘制代码: [crayon-673fb23d7cc6b950764302/] 代码中我除了…
前面我们说到了如何用Visual Studio编译portAudio,下面我们开始讲下如何使用PortAudio,先从最简单的开始,这篇文章我们主要讲如何枚举音频相关设备。代码如下: [crayon-673fb23d7def1630211268/] 如下是deviceinfo对应结构体声明: [crayon-673fb23d7def5440051852/] 编译运行得到如下结果: 在最后几行打印的结果中出现的一些设备名汉字乱码是因为有些设备名以UTF-8编码,我没做转换,转化后即可正常显示。
为支持原创,创作更好的文章,未经许可,禁止任何形式的转载与抄袭,如需转载请邮件私信!本人保留所有法定权利。违者必究!