
C#
meander
三年Java开发经验,两年C#开发经验。善于使用eclipse和visual studio开发工具。从事过ERP和数据存储软件开发。专注于企业集成。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Register DLL and OCX
Windows中注册类ID:clsid“通用唯一标识符”(UUID),用于标识 COM 组件。每个 COM 组件在 Windows 注册表中都有自己的 CLSID,以便让其他应用程序加载。使用ActiveX控件可快速实现小型的组件重用、代码共享,从而提高编程效率,降低开发成本。但是ActiveX控件对于最终用户并不能直接使用,因为ActiveX控件必须先在Windows中注原创 2012-11-13 21:07:26 · 1232 阅读 · 0 评论 -
如何将程序集(dll)安装到全局程序集缓存(GAC)中
针对一些类库项目或用户控件项目(一般来说,这类项目最后编译生成的是一个或多个dll文件),在程序开发完成后,有时需要将开发的程序集(dll文件)安装部署到GAC(全局程序集缓存)中,以便其他的程序也可以调用。 一般来说,将程序集(dll)安装到GAC中有以下几种方法原创 2011-09-23 08:43:01 · 710 阅读 · 0 评论 -
推荐VS2008插件CodeRush Xpress for C#
前段时间DevExpress和微软共同发布了CodeRush Xpress for C#,它包含了Code Rush和Refactor! Pro中的一些特性。这些特性包括增强的导航、选择工具、代码创建功能以及强大的重构能力。另外CodeRush Xpress还对C#中既有的重转载 2011-09-21 22:43:28 · 640 阅读 · 0 评论 -
Add Project Reference vs Add DLL Reference
Add Project Reference vs Add DLL ReferenceFirst one is - Right click on project Second one is - Right click on project The cor原创 2011-09-14 10:10:25 · 969 阅读 · 0 评论 -
Build a PowerShell cmdlet
Link:http://www.codeproject.com/KB/powershell/PowerShell.aspx?display=MobileWhat is Windows PowerShell?Windows PowerShell (a.k.a. Monad)转载 2011-09-06 13:09:16 · 668 阅读 · 0 评论 -
如何编写自己的cmdlet
如果想自定义一个类似于PowerShell的Get-Process的cmdlet,例如Get-Proc,如何自己编写这样一个cmdlet呢?查阅msdn,其基本步骤是:1. 确定cmdlet的名字:通常cmdlet都采取verb-noun的方式,确定自定义的cmdlet属于哪转载 2011-09-06 12:55:40 · 837 阅读 · 0 评论 -
Best Practices for C# Exception Handling
The C# error handling knowledge pack contains preconfigured rules based on the .NETError Raising and Handling Guidelines found in Micr转载 2011-09-05 22:41:11 · 961 阅读 · 0 评论 -
Refacing Tool
CodeRush and Refactor! Pro Version 3.2.3 for Visual Studio .NET 最新CodeRush and Refactor! Pro for Visual Studio .NET Version 3.2.3破解合集原创 2011-09-01 18:00:24 · 646 阅读 · 0 评论 -
浅谈HOOK
摘要: 本文针对HOOK技术在VC编程中的应用进行讨论,并着重对应用比较广泛的全局HOOK做了阐述。 一、引言 Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部转载 2011-08-03 15:55:50 · 1279 阅读 · 0 评论 -
NET程序集强签名
用强名称来给程序集签名即谓之程序集强签名!那什么是强名称,签名又有什么作用?,我们先看看强名称的概念是什么,强名称是由程序集的标识加上公钥和数字签名组成的,其中程序集的标识包括简单文本名称,版本号和区域性信息!Visual Studio.NET 和 .NET Framework SDK 中有工具能够将强名称分配给一个程序集!强名称相同的程序集一般也是相同的!好了,具体我们可以通过给程序集强签名达到什么目的呢?通过签发具有强签名的程序集合,可以确保名称的全局唯一性!因为强名称是依赖于唯一的密钥转载 2011-03-22 15:35:00 · 2180 阅读 · 0 评论 -
C#学习之Random
<br />在 .Net 中,我们一般使用 Random 类来生成随机数,它仅提供了以下几个基本方法供我们使用:名称说明 Next()返回非负随机数。 Next(Int32)返回一个小于所指定最大值的非负随机数。 Next(Int32, Int32)返回一个指定范围内的随机数。 NextBytes用随机数填充指定字节数组的元素。 NextDouble返回一个介于 0.0 和 1.0 之间的随机数。<br />如果想生成一些特殊的随机数,如枚举、日期等,则要再进行几步处理。本文将会原创 2011-01-28 08:32:00 · 762 阅读 · 0 评论 -
C#学习之Dispose
什么是资源:首先要提出“什么是资源”。在CLR出来之后,Windows系统资源开始分为“非托管资源”和“托管资源”。 非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理; 托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象。其次再来讲,资源的释放方式。 非托管资源:需要显式释放的,也即需要你写代码释放;原创 2011-01-28 10:50:00 · 1010 阅读 · 0 评论 -
C#学习之Exception
<br />避免在finally撰写无效代码:<br />先提出一个问题,即:是否存在一种打破try-finally执行顺序的情况。答案是:没有(除非应用程序本身因为某些很少出现的特殊情况在try块中退出)。你应该始终认为finally内代码会在方法return之前被执行,哪怕return是在try块中。但需要区分引用类型变量和值类型变量在finally中会导致不同结果。<br /> private static int TestIntReturnInTry() {原创 2011-01-28 09:47:00 · 459 阅读 · 0 评论 -
C#学习之Thread
<br />线程的基本用法:原创 2011-01-15 21:34:00 · 421 阅读 · 0 评论 -
C# Code Reviews using StyleCop
Table of ContentsIntroductionC# Code Reviews using StylecopComparing FXCOP with StyleCopIssue of Code Review using FXCOPStyleCop Code Pa转载 2011-08-30 15:13:32 · 781 阅读 · 0 评论 -
C# Code Review Checklist
Ted GraHam 提到了39 条 CheckList, 我觉得还是总结的挺全面.Are exceptions used to indicate error rather than returning status or error codes?使用异常来只是错误而转载 2011-08-31 09:18:45 · 566 阅读 · 0 评论 -
C# TimeZone Examples
You want to get information about the TimeZone that the current computeris in. Time zones on the planet Earth change on lines on longitude,转载 2011-10-08 15:37:16 · 1157 阅读 · 0 评论 -
SignTool Error: An error occurred while attempting to sign
问题:重装系统后打开工程,编译时发生错误,错误信息:Error 5 An error occurred while signing: Failed to sign bin\Debug\app.publish\\setup.exe. SignTool Error: ISignedCode::Sign returned error: 0x80880253 The signer's cert转载 2012-11-17 14:17:29 · 2663 阅读 · 0 评论 -
C# Source Code
/// /// 转全角(SBC case) /// /// 任意字符串 /// 全角字符串 public static string ToSBC(this string input) { char[] c = input.ToCharArray(); f原创 2012-11-16 12:20:26 · 572 阅读 · 0 评论 -
使用VS2010 C#编写ActiveX控件
我参考的文章如下(非Vs2010开发): 用C#编写ActiveX控件(一)http://www.cnblogs.com/homer/archive/2005/01/04/86473.html 用C#编写ActiveX控件(二)http://www.cnblogs.com/homer/archive/2005/01/08/88780.html 用C#编写Active转载 2012-11-13 21:56:36 · 1891 阅读 · 0 评论 -
VC2005开发MFC ActiveX控件
一. 创建MFC ActiveX项目1. 打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。 2. 输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮,打开向导对话框。 3. 选择“控件设置”选项卡,具体设置可参考上图。其它选项转载 2012-11-13 22:03:28 · 793 阅读 · 0 评论 -
C#之P/Invoke
PInvoke Resource一、P/Invoke Instruction:Link: An Introduction to P/Invoke and Marshaling on the Microsoft .NET Compact FrameworkP/Invoke, or Pinvoke stands for Platform Invocation Services. PI原创 2011-11-18 22:56:32 · 1508 阅读 · 0 评论 -
Configure C/C++ develop environment using eclipse for windows
1.Download Eclipse IDE for C/C++ Developers Official Website2.Download MinGW:(Minimal GNU for Windows) C/C++ Compiler Platform mingw Official Website:它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用原创 2012-11-07 22:18:37 · 1787 阅读 · 0 评论 -
C#学习之Event
C#中Event的概念:C#中的事件处理实际上是一种具有特殊签名的delegate。public delegate void MyEventHandler(object sender, MyEventArgs e);其中的两个参数,sender代表事件发送者,e是事件参数类。MyEventArgs类用来包含与事件相关的数据,所有的事件参数类都必须从System.EventArgs类派生原创 2010-12-31 09:08:00 · 489 阅读 · 0 评论 -
UTC Time
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。在本文中,UTC与GMT含义完全相同。北京时区是东八区,领先UTC八个小时,在电子邮件信头的Da转载 2011-09-26 14:13:00 · 1379 阅读 · 0 评论 -
API Hook完全手册
文章来源: http://blog.youkuaiyun.com/atfield 原文作者: ATField 整理日期: 2008-07-16 注:本文是根据我两年前写的一个系统行为监测程序写成(参考了一些书籍和文章)。最近在论坛上看到有不少人在问关于API Hook的问题,便写成此文,希望能对朋友们在写API Hook代码的时候能够有所帮助。1 基本原理API Hook是什么我就不多说了,直接进入正题。AP转载 2011-08-15 14:05:17 · 603 阅读 · 0 评论 -
Difference between STA and MTA in thread
Link:Could you explain STA and MTA?STA: Single-Thread Apartment, 中文叫单线程套间。就是在COM库初始化的时候创建一个内存结构,然后让它和调用CoInitialize的线程相关联。这个内存结构针对每个线程都会有一个。支持STA的COM对象只能在创建它的线程里被使用,其它线程如果再创建它就会失败。MTA: Mutil转载 2010-12-30 14:55:00 · 1020 阅读 · 0 评论 -
C#之Process
一、C#中利用process类调用外部程序以及执行dos命令c#中的Process类可方便的调用外部程序,所以可以通过调用cmd.exe程序加入参数 "/c " + 要执行的命令来执行一个dos命令(/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)class ExampleOfLegalsoft{ private string RunCmd(s原创 2011-11-17 23:14:51 · 1236 阅读 · 0 评论 -
How to view the W3WP process by c#?
We need to know which w3wp process is running now When we debug my website in the Visual Studio. As we know, we can use this cmd(%windir%/system32/inetsrv/appcmd list wp) to show the result in the win转载 2011-11-17 23:32:21 · 543 阅读 · 0 评论 -
.NET Framework 序列化
序列化 <br /> <br />序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。<br />.NET Framework 提供两种序列化技术: <br />二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。转载 2010-11-16 16:56:00 · 592 阅读 · 0 评论 -
An XMLSerializer input/output utility
Introduction<br />Back when I started using XML documents in C++, parsing and getting data out of the document was not what I would have called friendly, nor was generating a new document from scratch. Around that time, I also started playing with th转载 2011-01-05 14:39:00 · 623 阅读 · 0 评论 -
C#基础概念二十五问
<br />当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题:<br /><br />1.静态变量和非静态变量的区别?<br />2.const 和 static readonly 区别?<br />3.extern 是什么意思?<br />4.abstract 是什么意思?<br />5.internal 修饰符起什么作用?<br />6.sealed 修饰符是干什么的?<br />7.转载 2010-10-27 13:43:00 · 367 阅读 · 0 评论 -
.NET反射、委托技术与设计模式
<br />1 反射技术与设计模式<br /> 反射(Reflection)是。NET中的重要机制,通过放射,可以在运行时获得。NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。<br /> 1.1 .NET可执行应用程序结构<br /> 程序代码在编译后生成可执行的应用,我们首先要了解这转载 2010-10-26 15:20:00 · 377 阅读 · 0 评论 -
C#操作服务类
//一、安装服务:private void InstallService(IDictionary stateSaver, string filepath) { try { System.ServiceProcess.ServiceController service = new System.ServiceProcess.ServiceController("ServiceName");转载 2010-10-26 10:30:00 · 472 阅读 · 0 评论 -
.NET 中的三种接口实现方式
<br />一般来说.NET提供了三种不同的接口实现方式,分别为隐式接口实现、显式接口实现、混合式接口实现。这三种方式各有各的特点。<br />首先来看隐式接口实现,这恐怕是我们使用最多的一种接口实现,因为隐匿接口实现是.NET的默认接口实现方式。下面让我们来看一个隐式接口实现的例子:using System;<br />internal class MyClass<br />{<br />public void SomeMethod()<br />{<br />// 利用接口的方式声明转载 2010-12-17 15:33:00 · 571 阅读 · 0 评论 -
Windows 自动定时执行任务的几种实现方法
<br />Windows自动定时执行任务,常见的方法有三种:Windows 任务计划程序Windows ServiceSQL Agent 的 Job <br /> 这三种方法大多数人都用过,我在这里只做一个比较简单的介绍和小结,后续,我会用一个轻量型的.Net WindowsService Jobs的作为例子介绍如何定制Windows Service以及如何让Windows Service 自动定时执行任务。<br /> 首先,我们来看:使用 Windows 任务计划程序 如何转载 2010-10-22 17:03:00 · 629 阅读 · 0 评论 -
c#操作ecxel的一些资源
<br />1、如何:使用 COM Interop 创建 Excel 电子表格(C# 编程指南)<br />http://msdn.microsoft.com/zh-cn/library/ms173186(VS.80).aspx<br /><br />2、从 .NET 开发人员的角度理解 Excel 对象模型<br />http://msdn.microsoft.com/zh-cn/library/aa168292(office.11).aspx<br /><br />3、Excel P转载 2010-10-22 10:38:00 · 456 阅读 · 0 评论 -
AutoExcuteJob Framework(二)再谈Windows Service:SC 和 InstallUtil 区别
<br /> 本来打算这篇写具体的Jobs模块的实现,但是回头一考虑,好像还忘记了一个重要的问题,就是在部署和卸载 Windows Service的时候,我介绍了两种不同的命令:SC和InstallUtil,为什么在使用SC的时候,内部不需要创建ProjectInstaller,而使用InstallUtil的时候,却一定要创建ProjectInstaller,带着疑问,查阅了一些资料,终于找出了一些线索,不足的地方还请懂的指点一下。<br /> 原来以为SC是最底层的命令行,而Ins转载 2010-10-22 17:00:00 · 684 阅读 · 0 评论 -
AutoExcuteJob Framework(一)如何构建,部署 Windows Service
<br /> 上一篇文章中,我大概介绍了一下实现自动定时执行任务的三种方法,接下来的几篇文章,我主要是介绍一个轻量型的,可扩展的AutoExcuteJob小框架,主要是用Windows Service 实现,里面可能用到一些Enterprise Library的Configuration的知识。<br /> 先大概讲一下实现 AutoExcuteJob 的用途和目标。AutoExcuteJob主要用来自动定时(或者相隔某一固定时间段)执行某一程序,并且做到容易扩展和使用转载 2010-10-22 16:59:00 · 369 阅读 · 0 评论 -
C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
<br /> 系列一: 制作一个可安装、可启动、可停止、可卸载的windows service(downmoon原创)<br /> 系列二:演示一个定期执行的windows服务及调试(downmoon)<br /> 系列三:windows service系列三--制作可控制界面的windows service<br />因为windows service 工作中最近开始频繁使用,而手工部署的方式,最好的是用BAT文件,可是程序要部署到别的服务器上时,就会发现路径是一个问题:当然也可以用全转载 2010-10-22 10:44:00 · 352 阅读 · 0 评论