WUYUANS
Just for Sharing

静态成员的初始化顺序

前几天去参加了场笔试,里面考了静态构造函数,当时没做出来,现在对静态成员的初始化做一个总结。 在c#类中的静态成员有静态变量、静态函数和静态构造函数,而在java中是没有静态构造函数的,取而代之的是静态程序块。静态成员一般存放在静态区,而且是属于类的,所以我们可以不用实例化对象,直接调用静态函数,比如工具类的方法一般都声明为静态函数。c#和java对静态成员的初始化顺序是不一样的,下面我将分别对他们进行总结。

阅读全文 2012年10月20日 分类:学习笔记C#Java

c#解析FLV文件

在上一篇FLV文件格式解析中,我们对FLV的文件结构有了一定了解,现在我们就可以对FLV文件解析解析了。我这里用的是c#,只要理解了过程java、c++都是可以的。

1.工具类

在解析的过程中,我们会和byte做各种运算,所以我定义了一个byte工具类ByteUtils:

阅读全文 2012年09月24日 分类:学习笔记C#图像处理

用c#写的directshow简易视频播放器

很久没动directshow了,现在一直用c#写程序,突然看到directshow在.net下也有library,于是想试试在.net下的directshow。这个播放器是参照directshownet library中的例子改的,自己加了一些控制方面的。
先说一下directshownet,这是一个用c#写的directshow类库,是一个开源项目,sourceforge主页:http://directshownet.sourceforge.net/。不过这个项目关注的人不是很多,代码也很久没更新了,毕竟使用directshow的大都是c++项目,实现起来也是c++更高效。在.net里也可以调用VB的directshow类库来实现,不过我觉得这样太麻烦了,还是用directshownet这个现成的类库来的快。

阅读全文 2012年09月10日 分类:学习笔记C#

文件批量重命名小软件ReFileName

自己编写的一个小软件,使用正则批量替换文件名的小工具。要说编写这个小软件的原因嘛,就是从网上下了一部电视剧或动漫后发现文件名长的要命,放电脑上放还好,要是放手机或其他小屏幕的设备上的话,看个名字都要等他慢慢滚动过来。使用rename嘛,太麻烦,也不想记这么多命令,最后想到了正则。文件名就是字符串,用正则的话真是恰到好处。

阅读全文 2012年08月29日 分类:学习笔记C#个人作品

C#实现win7任务栏进度条

用过win7的人都知道,当我们用IE或firefox下载某个东西是任务栏上就会出现进度条,这大大增加了界面的友好程度,如下图所示。那我们怎么用c#来实现呢?

任务栏进度条并不是在.net框架里的,当时我在.net里找了很久,走了不少弯路,惭愧啊!

由于.net是面向所有windows平台的,win7只是一个特例,微软也不会为了一个win7就增加.net的容量。win7的任务栏进度条有一个专门的类TaskbarManager,他在Windows API Code Pack里面,下载地址:http://archive.msdn.microsoft.com/WindowsAPICodePack 里面包含了所有的源代码以及大量的示例,并附有文档

阅读全文 2012年04月14日 分类:学习笔记C#

C#重定向ffmpeg输出流

最近用c#做了一个ffmpeg的gui,用来合并、切割视频,其中需要把ffmpeg.exe的输出流显示出来,这就需要重定向ffmpeg的输出流,这个方法也适用x264、mencoder这些编码器的重定向。
c#要调用外部程序有许多方法,我这里选用调用Process的方法,也就是新建一个ffmpeg的进程,具体代码如下。

阅读全文 2012年04月12日 分类:学习笔记C#x264
阅读全文 2011年12月05日 分类:学习笔记C#