1.注册表编辑

为了方便对注册表进行操作,.NET提供了Registry类和RegistryKey类

2.API函数的应用

(1)自定义特性的代码:在类、属性、方法的上方加上“[]”的代码

(2)有个动态链接库

GDI32.dll:用于设备输出的图形设备接口(GDI)方法

Kernel32.dll:用于内存管理和资源处理的低级别系统方法

User32.dll:用于消息处理、计时器、菜单和通信的Windows管理方法

3.反射的应用

使用反射操作程序集分为如下两部:

(1)加载反射的程序集

(2)使用Type类的方法调用或枚举程序集中的类型

4.C#调用C++

有三种方法:(1)P/Invoke(只对C APIs可用)(2)COM objects(3)C++/CLI

5.调用外部程序

  1. Process p = new Process();
  2. p.StartInfo.FileName  = "cmd.exe";
  3. p.StartInfo.Arguments = "/c dir *.cs";
  4. p.StartInfo.UseShellExecute = false;// 不使用系统外壳程序启动,重定向时些值必须为false
  5. p.StartInfo.RedirectStandardOutput = true;
  6. p.StartInfo.CreateNoWindow = true;// 不创建窗口
  7. p.Start();
  8. string output = p.StandardOutput.ReadToEnd();
  9. p.WaitForExit();
  1. StringCollection values = new StringCollection();
  2. var proc = new Process
  3. {
  4. StartInfo = new ProcessStartInfo
  5. {
  6. FileName = "openfiles.exe",
  7. Arguments = "/query /FO CSV /v",
  8. UseShellExecute = false,
  9. RedirectStandardOutput = true,
  10. RedirectStandardError = true,
  11. CreateNoWindow = false
  12. }
  13. };
  14. proc.Start();
  15. proc.OutputDataReceived += (s,e) => {
  16. lock (values)
  17. {
  18. values.Add(e.Data);
  19. }
  20. };
  21. proc.ErrorDataReceived += (s,e) => {
  22. lock (values)
  23. {
  24. values.Add("! > " + e.Data);
  25. }
  26. };
  27. proc.BeginErrorReadLine();
  28. proc.BeginOutputReadLine();
  29. proc.WaitForExit();
  30. foreach (string sline in values)
  31. MessageBox.Show(sline);

6.获取当前日期时间

http://blog.163.com/ljq086@126/blog/static/549639712010112921658843/

7.dotNet插件系统开发模式

什么叫插件从大一点的概念讲就是我们开发的软件是由很小的模块组成,每一块都能成功的装卸,使我们的软件成为一个有机体,在发生重大事故、改良优化
等等的时候,我们不需要重新编译我们的系统就能很方便的进行升级替换进行使用;这样的开发模式就是插件系统开发模式。一个大型的系统,不能简简单单的用三
层或者MVC来概括,我们要站在一个更高的角度去思考程序,每当我们开始一个新系统的架构设计时,我们不能总是保守的或是“封建”式的使用以往的思想模
式,是否深思熟虑过这些开始模式在我们当前系统中是否可用或者说是否能发挥模式的最大效果。在开始执行前我们需要读取插件所在的路径然后进行插件对象的全
路径保存,以便在后面运行时方便加载;到了Run开始真正的执行我们的应用程序了,我们需要根据插件的类型进行加载,插件必须具备类型的原则,用在什么地
方的,好比汽车的零部件,我们有明确的规定,这里的实现我们可以用接口进行标识;当程序开始结束的时候,我们需要释放各个插件所占用的系统资源。

参考:http://wangqingpei557.blog.51cto.com/1009349/584806

8.Encoding

处理字符编码。

c# 其他技术学习的更多相关文章

  1. IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章

    前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...

  2. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  3. EMV技术学习和研究(转)

    刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮 ...

  4. Java多线程技术学习笔记(二)

    目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和w ...

  5. 【记录一次windows技术学习】使用笔记本DOS命令搭建WLAN热点

    [记录一次windows技术学习]使用笔记本DOS命令搭建WLAN热点 时间:2017-10-14 22:36:13 撰写者:AK末影人 [转发请注明出处] --------------------- ...

  6. 绝版珍珍藏:web前端技术学习指南

    绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...

  7. Android so注入(inject)和Hook技术学习(三)——Got表hook之导出表hook

    前文介绍了导入表hook,现在来说下导出表的hook.导出表的hook的流程如下.1.获取动态库基值 void* get_module_base(pid_t pid, const char* modu ...

  8. 亲爱的,我是一条Linux运维技术学习路径呀。

    根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...

  9. Java技术学习路线

    转载 作者:David 链接:https://www.zhihu.com/question/25255189/answer/86898400来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  10. C语言主要做哪些方面的开发---一个来自“IT技术学习”微信群的问题及答复

    近期,在"IT技术学习"微信群中,有同学问了这样一个问题:C语言主要做哪些方面的开发?在这篇文章中,我想结合自身的经验,对这个问题进行下解答. C语言是计算机及其相关专业(如通信. ...

随机推荐

  1. "浅谈Android"第一篇:Android系统简介

    近来,看了一本书,名字叫做<第一行代码>,是CSDN一名博主写的,一本Android入门级的书,比较适合新手.看了书之后,有感而发,想来进行Android开发已经有一年多了,但欠缺系统化的 ...

  2. sitemesh学习笔记(1)

    最近在学习web开发的时候,发现很多的页面都存在同样的导航栏,登陆栏,js,jQuery等等相同的元素.这样就感觉开发变得好臃肿啊,并且,有时候改一个元素,就要把所有包含这个元素的页面全部重新码一遍, ...

  3. 如何彻底的卸载和删除Windows service

    最近遇到很头疼的问题,安装到服务器的Windows Service卸载的时候出错了,结果在服务列表中就一直驻留,并且系统进程一直在运行,怎么都杀不掉. 最后终于找到办法了: 1.常规做法,批处理命令卸 ...

  4. EncryptTransform

    internal class EncryptTransform { //private const int c_MaxLengthOf_IV_DES = 4; //private const int ...

  5. 反射动态创建不同的Processor

    1. 定义抽象方法 public abstract class BaseProcesser    {        public abstract void GetCustomerReportCard ...

  6. IOS开发UI基础 UIAlertView的属性

    UIAlertView1.Title获取或设置UIAlertView上的标题. 2.Message获取或设置UIAlertView上的消息 UIAlertView *alertView = [[UIA ...

  7. Node.js面试题:侧重后端应用与对Node核心的理解

    Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员.所以这份面试题大全,更侧重后端应用与对Node核心的理解. node开发技能图解 node 事件循环机制 起 ...

  8. 数论 - 素数的运用 --- poj 2689 : Prime Distance

    Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12512   Accepted: 3340 D ...

  9. 重构第20天 提取子类(Extact SubClass)

    理解:提取子类就是把基类中,不是所有子类或者只有少数子类用到的方法,提取出来,调整到子类中去. 详解:下面的代码中我们用到一个单一的类Registration,来处理学生选课信息. public cl ...

  10. 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...