提取mkv文件中的字幕
摘要: 提取mkv文件中的字幕需要用到一个工具包MKVtoolnix,只要如下两个步骤即可。用“mkvmerge GUI”查看字幕ID编号和类型。通过命令mkvextract.exe tracks "e:\my.mkv" 3:my.srt提取字幕,其中3为字幕ID编号。
阅读全文
posted @
2011-08-30 10:22 天方 阅读(136) |
评论 (0) 编辑
编写递归调用的Lambda表达式
摘要: 前段时间,我写一个树的访问算法的时候,用了Visitor模式把访问的算法分离了出来,当时打算用lambda表达式写visit算法的,却发现带递归调用的lambda表达式没想象的那么好写,憋了半天愣是没写出来,由于当时赶进度,就写成了普通的函数了。今天晚上研究了一下递归调用的Lambda表达式的写法,发现也还是比较简单的,就是脑袋要转个弯(可能当时这个弯没有转过来),首先给一个简单的示例: int i = 1; RecursiveRun(self => { Console.WriteLine("hello world " + i++); self(); }); stat
阅读全文
【转载】mencoder应用
摘要: 1.视频转换$ mencoder videofile.rmvb -o outfile.avi -ovc xvid -xvidencopts fixed_quant=5 -oac mp3lame -lameopts abr:br=1282.截取图片mplayer -ss START_TIME -noframedrop -nosound -vo jpeg -frames N NAME_OF_VIDEO_FILE 上例中,-ss指定开始的时间,结合-frames参数,限定从某个时间开始、截取几帧图像。为了体现整个影片的内容,我需要在影片中间隔时间相同的几个 点、每个点截取1帧图像,所以按道理应该用-
阅读全文
posted @
2011-08-15 22:50 天方 阅读(114) |
评论 (0) 编辑
通过dymamic简化Pinvoke调用
摘要: Miguel de Icaza在它的blog"C#'s Dynamic in Mono"中演示了在Mono上通过dymamic简化Pinvoke调用。 dynamic d = new PInvoke("libc");d.printf("I have been clicked %d times", times);在这种方式下,无需声明函数类型,非常直接。在这个基础上,zhongzf进一步完善了这个方法,增加了返回值的支持,和ref、out属性参数的支持。 dynamic user32 = new DynamicDllImport
阅读全文
IE9插件差不多完成了
摘要: 经过近一周的使用,我写的IE插件基本上没什么大问题了,各项功能基本上运行正常。目前已知问题如下:小概率超级拖拽不可用。目前找不到复现条件,暂时不改了。网速很慢的时候,鼠标手势功能有时不能立即响应。这个倒是设计时候没有考虑周全,在网速很慢的时候,打开新页面可能要等一两秒钟才能使用鼠标手势。不过这个问题并不严重,只是在bt下载的时候偶尔会出现,延时也就一两秒钟。这个问题不难解决,但需要重写获取鼠标事件的方式,待下个版本再改。下个版本主要还是以解决这两个问题为主,广告过滤的方案暂时没时间研究了(用的不多)。发布前还剩下如下几件事情要做一下:写个配置界面今天设计了个简单的配置界面,逻辑功能还没做。暂时
阅读全文
posted @
2011-08-13 23:49 天方 阅读(231) |
评论 (3) 编辑
用Reactive Extensions快速实现鼠标手势功能
摘要: 鼠标手势非常方便,在很多程序中得到了广泛应用。在这里我要介绍一种通过用Reactive Extensions快速实现鼠标手势功能的方法,以供有需要的朋友参考。一般用的那些只有上下左右的鼠标手势的识别原理并不复杂,只需要对鼠标轨迹进行定点采集,根据偏移的角度进行降噪处理,折换成上下左右四个方向即可。具体代码可以参考下文中的GetDirection方法(这个函数不是我写的,以前在网上找的,原始出处不记得了)。通过用Reactive extensions可以非常容易的实现这一过程。具体代码如下:publicpartialclassForm1:Form{publicForm1(){Initializ.
阅读全文
posted @
2011-08-12 00:31 天方 阅读(120) |
评论 (0) 编辑
最近在写一个IE9的插件
摘要: 最近网上购物用得较多了,发现还是绕不过IE,由于切换浏览器比较麻烦,并且IE9还是不错的,准备放弃其它浏览器,只用IE9好了。其实IE9除了缺少超级拖拽和鼠标手势外,还是很方便的,以前我比较喜欢用的IE7Pro来扩展这两项功能,但它在IE9上没法用了,最近准备仿照IE7Pro,用C#写个IE9的BHO扩展插件,同时支持32位和64位的IE9。目前打算完成的功能主要如下:超级拖拽鼠标手势双击关闭Tab页广告过滤其中最常用的就是前三项,经过星期天一天的工作,基本上已经完成的差不多了。还需要做些测试工作,没什么大问题的话周末把下载放出来。不过由于用到了C# 4.0里的一些特性,需要安装.net 4.
阅读全文
posted @
2011-08-08 22:22 天方 阅读(196) |
评论 (0) 编辑
如何通过使用64位版本 Windows 查看系统注册表
摘要: 64位windows中包含了32位的和64位的两套系统程序,分别位于C:\Program Files (x86)和C:\Program Files中。IE,MediaPlayer等都有32位和64位两个版本的。以前我写过一些通过修改注册表而实现的一些功能的小程序,近来发现它们不能对32位和64位的程序都生效。查了一下MSDN,原来在64位的操作系统中,32程序和64位程序读取的是位置的注册表项,HKEY_LOCAL_MACHINE\Software在 64 位版本的注册表编辑器中对应的是64位程序的注册表项,而32 位注册表项被映射为HKEY_LOCAL_MACHINE\Software\W.
阅读全文