C# 积木模块 ABC(二)(转)
在C#中部署应用程序 在Visual Studio.NET中部署工程非常简单。大部分程序都可以通过一些方便的向导自动完成,而不需要费什么力气。但是要记住,根据请看,可能还需要在机器上安装Windows组件的更新Beta 1版。当然还需要Microsoft .NET框架。还要注意一点:Microsoft说当前的部署到了将来可能会无效。 一旦在Visual Studio中完成了应用程序的编写,就可以按照下述步骤开始部署: 首先,从文件菜单中选择增加新的工程文件: 然后,选择设置和部署工程,这时Visual Studio会提供一个部署工程的选项列表,根据是否要
C# 积木模块 ABC(三)(转)
如何装载等待光标? 光标是Drawing名称空间的一部分。要显示一个特定的光标,可以查阅文档得到所有可用的类型。要显示等待光标,请试试以下代码: componentsName.Cursor = System.Drawing.Cursors.WaitCursor; // back to arrow Cursor = Cursors.Arrow 如何获取机器上正在运行的进程? 使用System.Diagnostics.Process类可以启动和停止系统进程。GetProcesses函数返回了机器上正在运行的所有进程,它有两种定义,一种是用于本地机器,另一种用于远程机器。 如果想要获取本地机器上的运行进程,使用
C# 积木模块 ABC(一))(转)
第一个C#程序:经典例程Hello World “Hello World”可以说是学习每一种编程语言的第一个例程了。我们可以在NotePad、Wordpad等任何编辑器中输入以下的C#代码,并保存为helloworld.cs,最后在命令行中执行csc helloworld.cs来运行文件: // using system using System; class Hello { static void Main() { // display output on console Console.WriteLine("Hello,C# World!"); } } 用OpenFileDialog类浏览或打开文件 同VC++中CfileDialog的 Open 方法相同,C#中的OpenFileDialog类可用于打开
C#中用API实现MP3等音频文件的播放类之二(转)
二、用于测试媒体播放类的简单代码: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.InteropServices; using System.Text; using System.IO ; using clsMCIPlay; namespace MCIPlay { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.ComponentModel.IContainer components; private System.Windows.
用C#实现语音技术(转)
“电脑朗读”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习... 下面的Speech已对MSTTS作了简单封装。 1.安装好MSTTS(如果你有装金山词霸,系统就已经安装了),可以在winntspeech中打到vtxtauto.tlb文件; 2.用.Net SDK自带的tlbimp工具把vtxtauto.tlb转换成.dll格式: tlbimp vtxtauto.tlb /silent /namespace:mstts /out:mstts.dll 这时的mstts.dll已成为.net framework运行库的一个类。 3.编写一个封装vtxtauto的简单类:Speech . //========================Speech
C#中用API实现MP3等音频文件的播放类之一(转)
C#没有提供播放MP3等音频文件的类,要编写播放MP3等音频文件程序,必须使用第三方控件或类。本文使用API函数mciSendString,编写一个播放MP3等音频文件的类。 具体源码如下: 一、使用API函数mciSendString构成的媒体播放类。 using System; using System.Runtime.InteropServices; using System.Text; using System.IO ; namespace clsMCIPlay { /// <summary> /// clsMci 的摘要说明。 /// </summary> public class clsMCI { public clsMCI() { // // TODO: 在此处添加构
用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指