K

2013年12月5日,一年之约。雾散天晴昏睡的人也从梦中醒来、2017年1月21日,我再次回来。
227
原创
92
转载
0
译文
9
评论
211035
访问

我的博客文章

2017
28

C#文件加密和解密

//由于项目需要,要对文件进行加密操作,所以对这个功能做了一点学习。不难,需要注意的地方也不多: 加密算法和加密后的长度问题(这里用的AES); 加密大文件使用流的方式一点一点加密(防止一次性吃掉很多内存); 加密过程的回调; 文件结构; 一、算法首先,文件要加密就一定要解密,所以一定要找个能解密的算法,这个不用多说……其实加密解密算法也算是C#里自带了,代码如下:/// <summary> ///

(6)(0)
2017
26

C# Winform 窗体美化(十、自定义窗体)

十、自定义窗体写在前面最近在做 winform 应用程序,需要自定义一种窗口的样式,所以就随便搞了一个简单的窗口。效果图有两种样式,界面如下: 无标题: 有标题: 关键词1、黑色描边边框对于窗口去掉原生的边框这个操作很简单【设置FormBorderStyle为None】,但是去掉边框之后略显生硬,所以就考虑如何做一个描边。方案a:用画笔画出来,但是画出来的描边会被控件挡住,所以作废; 方

(216)(0)
2017
18

NTFS Change Journal(USN Journal)详解

写在前面最近又用了一下usn日志来获取所有文件列表,在分多次加载文件列表的时候发现有文件丢失的情况,后来发现一篇文章比较详细的讲了usn。用cmd来读取usn日志如图: 以下是转载内容:还是那个文件监控的应用,发现使用Windows API(ReadDirectoryChangesW)还是不能满足要求,如果变化量大又密集时,丢失通知现象很严重。好在需要监控的大部分的Windows用户都转到NTFS

(77)(0)
2017
27

C# Winform 窗体美化(九、嵌入窗体)

九、嵌入窗体还是关于 Winform 窗体的一些操作问题,这次是研究了一个嵌入窗体,这次学习纯属偶然,项目中确实没遇到过这种需求。就是把别人的程序嵌入到自己的程序中,就像这样:这里我嵌入了测试显示器的程序 这次学习得益于一片博客(引用一定要注明出处 ^_^): http://www.cnblogs.com/bitzhuwei/archive/2012/05/24/SmileWei_Embedde

(539)(0)
2017
23

C# Winform 窗体美化(八、Icon)

八、Icon之前 Winform 项目也有在 Icon 上遇到些问题(这里的 Icon 指的是 .ico 类型的文件),比如刚开始不知道怎么让自己的程序 Icon 和其他软件一样可以放大,还有放大之后在音量合成器中会出现比较奇葩的效果之类的问题,这里简单整理下,以后再有其他问题再补充。1、C# 代码转换 Icon 格式最开始写 Winform 程序的时候,程序图标都是从网上 down 的,因为那时候

(411)(0)
2017
15

C# Winform 窗体美化(七、Win7 Aero 毛玻璃效果)

七、Win7 Aero 毛玻璃效果 在 Win7 上有一种 Aero 效果,毛玻璃透明效果,搭配不同风格的颜色,效果很好。在学习 Winform 美化的时候顺便看到的这种效果,也整理进来了。

(1350)(0)
2017
15

C# Winform 窗体美化(六、双层窗体)

六、双层窗体大概情况双层床体是为了平滑的创建异形窗体的一个解决方案,找了很多资料,整理了一下。双层窗体的逻辑是建立在 UpdateLayeredWindow 不能绘制控件的基础上,上层再添加一个专门放置控件的层;这样就可以在上层“控件层”放控件,下层的“皮肤层”绘制异形的窗口。有两点需要主意: 1. 两个窗体的大小和位置的统一,使用 Size 和 Location 来解决; 2. 两个窗体的 Z

(718)(2)
2017
15

C# Winform 窗体美化(五、鼠标穿透)

五、鼠标穿透以前在玩射击游戏的时候,狙击枪的设定一般是开镜才有准星,所以想是不是可以自己造一个默认准星出来,思路是现在窗口上画一个准星,然后把窗体其他区域都透明,然后设置鼠标穿透;结果是: UpdateLayeredWindow 的不规则窗口中,添加鼠标穿透功能导致不规则窗口失效。 GraphicsPathForm 的不规则窗口中,可以愉快地使用鼠标穿透功能。 注意: 全屏的游戏,窗口是不能最前的

(485)(0)
2017
15

C# Winform 窗体美化(四、镂空窗体)

四、镂空窗体例子下载直接贴效果图吧:1、控件的透明 2、窗体的透明 代码如下:public partial class Form1 : Form { public Form1() { InitializeComponent(); SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED); S

(584)(0)
2017
15

C# Winform 窗体美化(三、不规则窗体)

三、不规则窗体概况之前学习的 LayeredSkin 看到里面有个异形窗口,比较感兴趣,所以就找一下资料研究一下。不规则窗体学习有一个比较好的例子,叫 GoldFishProject,是一条鱼金鱼在屏幕上游。不规则窗口示例代码 GoldFishProject 游动金鱼的学习代码现学习了两种实现方式: 1. UpdateLayeredWindow 2. GraphicsPath1.UpdateL

(965)(0)
2017
15

C# Winform 窗体美化(二、LayeredSkin 界面库)

二、LayeredSkin 窗口美化库概况这部分资源是 Winform 美化最多的了,效果还不错,使用时只需引入 LayeredSkin.dll - 696 KB 即可。网上能找到的最后 LayeredSkin 版本应该是 LayeredSkin Demo2014-12-10.zip,之后作者就整合成一个更加强大的商业版界面库(DSkin)了。效果图示例Demo

(685)(0)
2017
14

C# Winform 窗体美化(一、IrisSkin 换肤库)

IrisSkin 换肤库IrisSkin 是为Microsoft Visual Studio dotNET开发的最易用的界面增强dotNET(WinForm)组件包。能完全自动的为应用程序添加支持换肤功能。[百度百科]IrisSkin 使用例子 下载皮肤编辑器 下载1、文件 IrisSkin4.dll - 544 KB 各种 .ssk 格式的皮肤文件(一般在网上搜的是13个皮肤的压缩包) 2、代码p

(1335)(0)
2017
13

C# Winform 窗体美化(目录)

最近在看 C# Winform 的窗体美化,发现一些很有用的美化皮肤库,学习过后也把一些资料整理一下。一、IrisSkin 换肤库(IrisSkin4) 二、LayeredSkin 界面库(LayeredSkinDemo) 三、不规则窗体(GoldFishProject,TransparentForm) 四、镂空窗体(HollowForm) 五、鼠标穿透(MousePenetration)

(674)(0)
2017
09

C# 将程序添加开机启动的三种方式

前言最近在研究程序随系统启动,发现在 win7 上因为权限的问题,写注册表的时候总是会出现问题,写不进去导致的不能自动启动,随后决定仔细的看一看这方面的问题。查资料过程中主要发现有三种方式可以添加到启动,分别是: 1. 开始菜单启动; 2. 注册表启动项; 3. Windows 计划任务。一、开始菜单启动在很久以前,刚开始捯饬电脑的时候,就知道的一个开机启动的方法,那时候就是直接把程序的快捷方

(1452)(0)
2017
22

进程通信:匿名管道和命名管道

一、进程间通信方式 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程

(151)(0)
2017
14

SQLite CodeFirst、Migration 的趟坑过程 [附源码]

负一、吐个槽关于SQLite的CodeFirst,我找了很久,有很多博客都写过,但是真正好用的非常少,还有很多根本就是DBFirst的代码,真是坑的我够呛,研究了几天也算有点成果,整理一下,希望对路过的朋友有所帮助。零、冷知识1、SQLite.CodeFirst使用NuGet安装的EF和SQLite可能是没有CodeFirst功能的,安装了“SQLite.CodeFirst”之后可以为SQLite提

(781)(0)
2017
06

C#获取屏幕大小的“简单整理”。。

额……首先是有一个需求,两个显示器,程序自动获取自己所在的显示器大小,并显示到右下角。我们都知道C#有一个Screen.PrimaryScreen.Bounds,可以获取屏幕的完整尺寸,但是只能获取主显示器的尺寸,后来我发现又一个Screen.GetBounds(this),可以获取程序所在的屏幕尺寸。代码如下Console.WriteLine("主显示器完整尺寸:"); Console.Write

(405)(0)
2017
23

关于C#监视剪贴板信息

1、常规方法在C#中,有一个常规检测剪贴板的方法,用的是 System.Windows.Forms.Clipboard;使用起来很简单,代码如下:/// <summary> /// 设置剪贴板的文本内容 /// </summary> /// <param name="s">文本内容</param> public static void SetText(string s) { Clip

(146)(0)
2017
21

C#标记废弃方法

在C#中,如果一个方法我们不再使用,我们可以将其标记为“废弃”的方法,只需要在方法前,加一个[Obsolete]即可;[Obsolete] public void BiuBiuBiu(){ // 嘿嘿嘿 }废弃方法并非不能使用,而是在编译时,会显示“BiuBiuBiubiu()方法已过时”的一个警告信息。

(538)(0)
2017
09

Everything是如何搜索的

写在前面使用了Everything之后,一直对他的搜索速度感兴趣,在网上也看了很多对其原理的揭秘,终于有空找了个源码研究了一下,原理就是对NTFS的USN特性进行使用。原理详细解释我参照别人家的博客来一段: 当扇区的文件有变化时,操作系统会往USN Journal文件中追加一条记录,该记录包含文件名、变化发生的时间、变化的原因等信息,而不包含变化的内容。每一条记录用一个64位数字标识,称作USN

(306)(0)
319条 共16页1 2 3 4 5 ... 下一页 尾页
img

myinc

等级:

排名:第6275名

博客专栏
文章分类
文章存档
阅读排行
评论排行
推荐文章
最新评论
img