10个C#程序员经常用到的实用代码片段

2019-12-26 13:40:17丽君

这个功能常用在软件保护方法,可用来验证签名的组件。即使你的签名被人去掉,或是所有程序集的签名都被去除,只要程序中有这一项调用代码,则可以停止程序运行。

6 响应系统配置项的变更

比如我们锁定系统后,如果QQ没有退出,则它会显示了忙碌状态。

请添加命名空间Microsoft.Win32,然后对注册下面的事件。

. DisplaySettingsChanged (包含Changing) 显示设置

. InstalledFontsChanged 字体变化

. PaletteChanged

. PowerModeChanged 电源状态

. SessionEnded (用户正在登出或是会话结束)

. SessionSwitch (变更当前用户)

. TimeChanged 时间改变

. UserPreferenceChanged (用户偏号 包含Changing)

我们的ERP系统,会监测系统时间是否改变,如果将时间调整后ERP许可文件之外的范围,会导致ERP软件不可用。

7 运用Windows7的新特性

Windows7系统引入一些新特性,比如打开文件对话框,状态栏可显示当前任务的进度。

 

 
  1. Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog ofd = new Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog();   ofd.AddToMostRecentlyUsedList = true;  
  2. ofd.IsFolderPicker = true;   ofd.AllowNonFileSystemItems = true;  
  3. ofd.ShowDialog(); 

用这样的方法打开对话框,与BCL自带类库中的OpenFileDialog功能更多一些。不过只限于Windows 7系统中,所以要调用这段代码,还要检查操作系统的版本要大于6,并且添加对程序集Windows API Code Pack for Microsoft®.NET Framework的引用。

8 检查程序对内存的消耗

用下面的方法,可以检查.NET给程序分配的内存数量

 

 
  1. long available = GC.GetTotalMemory(false);   Console.WriteLine(“Before allocations: {0:N0}”, available);