用C#读取图片的EXIF信息的方法(转)
引言:EXIF,是英文Exchangeable Image File(可交换图像文件)的缩写,最初由日本电子工业发展协会(JEIDA --Japan Electronic Industry Development Association) 制订,目前的版本是修改发表于1998年6月的2.1版。国际标准化组织(ISO)正在制订的相机文件设计标准(DCF -- Design role for Camera File system)就是以EXIF2.1格式为基础而设定的。记住,EXIF是一种图像文件格式,只是文件的后缀名还是沿用大家熟悉的jpg而已。实际上,EXIF信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的jpg文件的头部,也就是
C#获取WAVE文件文件头信息(转)
using System;using System.IO;using System.Text;namespace WAV{ /// <summary> /// Summary description for Wav. /// </summary> public class Wav { public Wav() { // // TODO: Add constructor logic here // } [STAThread] static void Main(string[] args) { // // TODO: Add code to start application here // string strpath=@"C:Documents and SettingsAdministra
实例:用Visual C#制作新闻阅读器(转)
一、弄清结构再动手 要想轻松的抽取RSS信息,自然先要了解它的结构,所谓“知己知彼,百战不殆”嘛。 1、RSS的结构 我们先打开百度新闻一个RSS链接,如果你再多打开几个别的网站的RSS链接,会发现他们都有大致相同的结构。而我们在揭秘RSS(上)中为大家讲解的其实就是编成实现这样的一个XML文件。 为了能够方便地对这样的XML文档进行处理,在本文里,我们使用C#作为开发的语言。 分析整个RSS链接后,我们知道RSS大致的结构入图1。 2、抽取的原理 知道了结构,我们还要知道结构中各部分的含义。在图1中RSS节点表示当
Microsoft .NET完全介绍(下)(转)
.NET如何改变计算 Microsoft .NET将从根本上改变我们的思考和使用电脑的方式。目前"服务器"和"桌面电脑"这两种概念占据了计算领域的统治地位。然而Microsoft .NET是一种分布式计算范例,它没有了传统上的服务器和桌面电脑的区别,取而代之的是,计算的处理被放在最合适的地方进行,可能是服务 器,或是PC,也有可能是手提电脑以及其他智能设备。这就是智能计算。 .NET的计算模型对商务和终端用户都产生了重要影响,但方法不同。对终端用户来说,这个新计算模式更具个性化、综合程度更高,会给他们带来
Microsoft .NET完全介绍(中)(转)
.NET平台 Microsoft的平台是由用于创建和运行XML Web服务组成的。它包含了下面四个组件: .NET框架和Visual Studio.NET:这些是开发人员用来生成XML Web服务的工具。.NET框架是Microsoft .NET平台核心中的一套编程接口;Visual Studio.NET是一套多语言系列的 编程工具。 服务器基本结构(Server Infrastructure): .NET的服务器基本结构是一系列用于生成、发布和操作XML Web服务的基础程序,包括Windows和各种.NET企业服务器。主要的技术包括对XML、scale-out及跨程序和服务的商务流程(business process orchestratio
Microsoft .NET完全介绍(上)(转)
本文给出了一个对Microsoft .NET和Microsoft's XML Web服务平台的总体介绍以及使用它们的好处。同时我们还将举例说明.NET是如何改变终端用户和商业的计算模式。 在本文中我们不想涉及到很精深的技术,任何稍微懂一点电脑和Internet知识的人都可以理解本篇的内容。Micorosoft还为那些希望掌握.NET的公司执行官、IT领导和程序员们 提供了更多的资源。 什么是Microsoft .NET? Microsoft .NET是Microsoft的XML Web服务平台。.NET包含了建立和运行基于XML的软件所需要的全部部件。 Microsoft .NET解决了下面这些
微软.NET平台中类型使用的基本原理(转)
微软.NET平台中类型使用的基本原理 ----微软 .NET平台系列文章之二 译文/赵湘宁 在上一次的讨论中,我介绍了许多微软.NET平台公共语言运行时CLR (common language runtime) 中与类型有关的基本概念。其中重点讨论了如何从System.Object类型中派生出所有别的类型,以及程序员能够使用的多种强制类型转换机制(如C#操作符)。最后,我提到了编译器如何使用名字空间以及公共语言运行时CLR是如何忽略名字空间的。 在本文中,我们将继续上次类型基础的讨论。首先从介绍简单类型开始,然后迅速进入关于引用类型和数值类型的讨论。
.NET中的特殊类型成员(转)
.NET中的特殊类型成员 ----微软 .NET平台系列文章之三 译文/赵湘宁 在前面的两篇文章中,我们研究了类型的基础知识。本文我们将考察类型能定义的某些特殊成员。在大力简化处理类型及其对象实例需要的语法方面,这些类型有助于面向对象设计。 类型构造器 你已经熟悉了什么是构造器,它负责对象实例状态的初始化。除了实例构造器以外,Microsoft(r).NET公共语言运行时(CLR)还支持类型构造器(也叫做静态构造器、类构造器或类型初始化)。类型构造器可被应用到接口,类和数值类型。它允许任何在类型中声明的成员被访问之
.NET体系中的源程序安全问题(4)(转)
四、结束语 如果你是一个桌面应用的供应商,你清楚自己应该怎么做。你可以用非受管理的C++编写代码,然后从受管理的VB调用它。用这种方法设计应用,你能够确信代码的安全。然而,如果你是一个第三方供应商,而且准备在组件中用非受管理的代码替代受管理的代码,那么,你是在强迫用户放弃.NET的优势,重新让他们面对他们今天所面临的问题。受管理代码能够防止对应用本身或者其他应用所使用的内存空间进行破坏性操作,对受管理代码的支持正是.NET吸引人的原因之一。某些用户可能会查看受管理代码的IL程序,甚至还有可能分析应用的算法实
.NET体系中的源程序安全问题(3)(转)
三、反向工程 当程序集以MSIL而不是机器代码的形式发布时,最令人关心的问题应该就是安全。正如前面所介绍的,程序集包含了关于包里面所有模块的manifest以及详细描述各个模块的元数据。.NET SDK 提供了一个名为ILDASM的工具,它是一个IL反汇编程序,能够从模块反汇编出IL代码以及应用程序中各个模块的元数据说明。从Listing 1可以看出,利用ILDASM对代码实施反向工程是极为方便的。 【Listing 1】下面是IL反汇编程序ILDASM输出的部分结果。 它显示的是应用中一个名为LeavingMessage的私有方法,后 面部分是调用LeavingMessage
.NET体系中的源程序安全问题(2)(转)
二、中间语言 为了了解在用VB.NET构造工程的过程中发生了什么事情,我们需要创建一个生成代码和程序集时使用的示例工程:打开VS.NET,新建一个Visual Basic工程,在窗体中加入一个文本标签(Label),然后把文本标签的Text属性改成“Good Bye Visual Basic 6.0”(如图1),把这个应用命名为GoodByeVB6。 图1 在深入.NET体系之前,我们需要了解一些有关.NET的边缘知识和术语。首先,IL(中间语言)并不是什么新概念,VB、C++编译器生成和利用IL已经有数年的历史,只不过很少有人公开谈论它或为它编写文档。与过去编译应用
.NET体系中的源程序安全问题(1)(转)
在.NET平台上,代码以中间语言的形式运行,它是.NET众多优势的基础。但在独立桌面应用中,它给源代码的安全带来了威胁。本文探讨产生这个问题的原因,分析可能的解决办法。 在Visual Studio.NET(VS.NET)体系中,VB、Visual C++以及C#之类的编译器把源程序编译成MSIL。MSIL即Microsoft Intermediate Language,或Microsoft中间语言,它在执行之前被即时(Just-In-Time Compile,JIT)编译成为机器语言。但是,你可能还没有深入了解当你在VS中点击Build按钮时发生了什么事情,或者你私有的源代码和信息是否在偷窥的眼光面前安然无
C#基于MMX指令集的程序设计简介之三(转)
MMX32 演示项目MMX32项目可对32位象素的RGB图象进行处理。进行的图象处理工作是图象颜色反相操作和更改图象颜色的平衡度(将象素点的每一种颜色乘以一定的值)操作。MMX的乘法实现起来比加减法复杂得多,因为乘法运算通常得出的结果的位数不再是以前位数的大小。比如,如果乘法的操作数有一个字节(8位的BYTE)大小,那么结果会达到一个字(16位的WORD)大小。这需要额外的转换,并且使用MMX汇编指令和C++代码进行图象转换花费时间的差别不是很大(时间差为5-10%)。用Visual C++.NET的MMX指令函数实现的更改图象颜色平衡度的函数:void C
C#基于MMX指令集的程序设计简介之二(转)
MMX程序设计详细介绍包含的头文件所有的MMX指令集函数在emmintrin.h文件中定义:#include <emmintrin.h>因为程序中用到的MMX处理器指令是由编译器决定,所以它并没有相关的.lib库文件。__m64 数据类型 这种类型的变量可用作MMX指令的操作数,它不能被直接访问。_m64类型的变量被自动分配为8个字节的字长。CPU对MMX指令集的支持如果你的CPU能够具有了MMX指令集,你就可以使用Visual Studio .NET 2003提供的对MMX指令集支持的C++函数库了,你可以查看MSDN中的一个Visual C++ CPUID[3]的例子,它可以帮你检测你的CPU是否支持SSE、MMX指
C#基于MMX指令集的程序设计简介之一(转)
MMX技术简介Intel 公司的MMX™(多媒体增强指令集)技术可以大大提高应用程序对二维三维图形和图象的处理能力。Intel MMX技术可用于对大量数据和复杂数组进行的复杂处理,使用MMX技术可处理的数据基本单位可以是字节(byte)、字(word),或者是双字(double-word)。Visual Studio .NET 2003提供了对MMX指令集特性的支持,从而可以不必编写汇编代码,直接使用C++代码就可以实现MMX指令的功能。通过参考Intel软件说明书(Intel Software manuals)[1]以及阅读MSDN中有关MMX编程技术的主题会使你更好地把握MMX编程的要点。MMX技术实现
得到系统进程和结束某个指定的进程(转)
看到这篇文章,关闭指定的IE实例:http://www.c-sharpcorner.com/Code/2002/Mar/CaptRunIEInstances.asp自己想了另一个办法来作先修改注册表:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicePerfProcPerformance下的:Disable Performance Counters 的值改为0得到系统当前进程,加入到listBox中:System.Diagnostics.Process[] processOnComputer = System.Diagnostics.Process.GetProcesses();foreach ( System.Diagnostics.Process p in processOnComputer ){ this.listBox1.Items.Add(p.ProcessName);}关闭某个指定的进程:
用Visual C#来操作Clipboard(转)
Clipboard就是所谓的剪切板,当我们同时按动Ctrl+C键或者点击菜单“拷贝”的时候,选定的对象就被存放在了剪切板中了。如果刚才选定的对象是文件,那么在定盘符后,按动Ctrl+V键或者点击菜单“粘贴”,这时选定的文件就保存到指定的磁盘上面了;如果选定的对象是图象,那么在打开“画图”之后,按动Ctrl+V键或者点击菜单“粘贴”,图象就会显示在画图中了;如果是文本,那么在打开文本编辑器后,按动Ctrl+V键或者点击菜单“粘贴”,这时文本就会显示在文本编辑器中。当然选定的对象还有许多种,这就不一一举例了。上面这些操作其实就是
在.Net环境下用C#操纵活动目录(转)
Windows 2000 Server在Windows NT Server 4.0的基础上,进一步发展了"活动目录(Active Directory)"。活动目录是从一个数据存储开始的。它采用了类似Exchange Server的数据存储,称为:Extensible Storage Service (ESS)。其特点是不需要事先定义数据库的参数,可以做到动态地增长,性能非常优良。这个数据存储之上已建立索引的,可以方便快速地搜索和定位。活动目录的分区是"域(Domain)",一个域可以存储上百万的对象。域之间还有层次关系,可以建立域树和域森林,无限地扩展。 活动目录充分体现了微软
用Visual C#获得计算机名称和IP地址(转)
Visual C#是微软公司推出的下一代程序开发语言,是微软.Net 框架中的的一个重要组成部分,在推出Visual C#的过程中,微软公司还推出了与之相对应的一个软件开发包--.Net FrameWork SDK。此软件开发包里面封装了许多类、对象。Visual C#就是通过调用这些类、对象来实现许多比较强大的功能。 在.Net FrameWork SDK中提供了二个可用于网络编程的名称空间,一个是System.Net,另一个是System..Net.Socket。本文就是利用第一个名称空间中封装的类和对象来读取本地计算机名称和机器中所有的IP地址。 一.概述: 我们知道对于一台计算机来说,他只
用C#开发Pocket PC数据库应用程序(转)
摘要:本文讲解怎样使用Pocket PC Phone Edition工具集迅速建立无线数据库应用程序。本文介绍的是使用Visual C# 和SQL Server CE 2.0建立一个Pocket PC Phone Edition应用程序。 新的移动计算时代开始了 移动解决方案系统体系结构的一部分正在迅速成为现实。最先是很多公司不断意识到移动解决方案可以带来效率的提高和新的商业机会。顾客正在每天的生活中开始看到移动设备的使用。移动设备硬件,特别是新的Pocket PC,正在引领企业和顾客需求的方向。把每种需求胶合在一起的关键就是新的软件和开发工具。 我使用新的Visual Stud