随笔分类 -  C#

摘要:C#检查证书是否存在1 X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);2 store.Open(OpenFlags.MaxAllowed);3 X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, "SRCA", false);4 if (certs.Count == 0 || certs[0... 阅读全文
posted @ 2012-09-23 23:40 Lyghost 阅读(4886) 评论(0) 推荐(0)
摘要:1 using System; 2 using System.Text; 3 using System.Windows.Forms; 4 using System.Net; 5 using System.Net.Sockets; 6 using System.Collections.Specialized; 7 8 namespace GetIpv4Test 9 {10 public partial class Form1 : Form11 {12 public Form1()13 {14 InitializeComp... 阅读全文
posted @ 2012-09-14 17:02 Lyghost 阅读(2221) 评论(0) 推荐(0)
摘要:Introductionpreprocessor directive並不是什麼新東西,這在C語言就有的,如有些API在Windows 98和Windows XP不一樣,就得用preprocessor directive,讓不同的平台用不同的API。C#也可使用preprocessor directive,尤其用在debug時,非常方便。我們常會有debug code,如try catch時,若有exception要顯示錯誤訊息,但真正發布產品時,則不希望顯示錯誤訊息,所以希望能留住debug code,以便日後debug,若用//或的方式將debug code暫時當註解,常常遇到產品真正發布時 阅读全文
posted @ 2012-09-12 16:42 Lyghost 阅读(517) 评论(0) 推荐(0)
摘要:在查看ADO.NET Entity Framework中得代码生成模板时,遇到这样一句代码:<#=Accessibility.ForType(enumType)#>enum<#=code.Escape(enumType)#> : <#=code.Escape(enumType.UnderlyingType.ClrEquivalentType, fullyQualifySystemTypes: false)#>其中:fullyQualifySystemTypes:false 当时使我疑惑,后来查阅相关资料:这种用法是.net 4.0中得新特性,谓之命名参数。在 阅读全文
posted @ 2012-09-06 11:47 Lyghost 阅读(422) 评论(0) 推荐(0)
摘要:利用C#的反射机制动态调用DLL类库最近由于业务要求,需要动态调用DLL类库,所以研究了一下,感觉还好也不太难,今天就把自己理解的写了一个小例子(已经通过VS2005跑通),供大家一起研究和探讨,有理解不当的地方还请高手们多多指正,谢谢啦!好,在这之前我先把反射所需要使用的几个类给大家列一下:1、使用Assembly类定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。2、使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMetho 阅读全文
posted @ 2012-07-08 22:32 Lyghost 阅读(975) 评论(0) 推荐(1)
摘要:1 /// <summary> 2 /// 判断程序是否是以管理员身份运行。 3 /// </summary> 4 public static bool IsRunAsAdmin() 5 { 6 WindowsIdentity id = WindowsIdentity.GetCurrent(); 7 WindowsPrincipal principal = new WindowsPrincipal(id); 8 return principa... 阅读全文
posted @ 2012-07-02 21:06 Lyghost 阅读(765) 评论(0) 推荐(0)
摘要:下文分两部分,第一,如何实现软件本身运行时申请管理员权限,第二,如何在软件窗体内的按钮上面加入盾牌图标(意味着本功能需要管理员权限执行)。一、软件自身运行时的管理员权限申请机制在开启UAC的时候,在Win7(Windows Server 2008 R2)或者Vista(Windows Server 2008)中执行程序默认是以一种权限较低的方式执行的,但是在这种方式下,我们有些操作会失败(比如修改注册表,监听端口,往系统目录写入文件等),要实现这些操作,就需要我们以管理员权限执行程序了。 当然,只有在程序上右键,选择“以管理员执行”就可以,不过如何让程序自己自动以管理员权限来运行呢,这就需要M 阅读全文
posted @ 2012-03-27 08:44 Lyghost 阅读(435) 评论(0) 推荐(0)