C#积木模块ABC(四)

C#积木模块ABC(四)


Author: 青苹果工作室  &;nbspFrom:Internet


               
 
 
 
  如何从控制台读取数值?
 
  下面解释如何从控制台获取一个输入值。如果使用的是C  ,那么cin和cout就是向控制台读和写的函数。
 
 
  在文本编辑器中输入这些代码,然后保存为read.cs:
 
 
  using System;
 
 
  class ReadStr
 
  {
 
  public static void Main()
 
  {
 
  Console.Write("Enter your name:");
 
  string szName = Console.ReadLine();
 
  Console.WriteLine(" Hey "  szName);
 
  }
 
  }
 
 
  然后在命令行编译它,格式是cs read.cs,这将创建一个exe文件read.exe,它与read.cs文件在同一目录下。最后,运行这个exe。
 
  如何读取Windows注册表信息?
 
  在介绍如何读取注册表信息前,先解释如何增加注册条目。
 
 
  1、增加注册表数据
 
 
  以下文本是实际的注册信息。将这个内容复制并粘贴到一个文本文件中,将其保存扩展名为.reg的文件,然后双击这个文件进行注册表内容的输入操作。
 
 
  /*Windows Registry Editor Version 5.00
 
  [HKEY_CURRENT_USER\Software\TAW\BSE]
 
  "DSN"="TAWReports"
 
  "User"="TAW1"
 
  "Password"="taw1.1"
 
  "Server"="dbserver"
 
  "IP"=""
 
  */
 
 
  2、阅读注册数据
 
 
  2.1 创建两个RegistryKey变量。
 
  2.2 创建一个内含od对象的类,第一个参数为HKEY(主根关键字名),第二个为"",表示本地机器。
 
  2.3 在要阅读信息的地方创建子关键字。
 
  2.4 用RegistryKey类的Getvalue方法来读取某一特定节点关键字信息的数据。在这里,DSN,Server,Password就是节点。
 
 
  以下代码读取刚才加入到注册表中的注册数据:
 
 
  namespace CONAPP
 
  {
 
  using System;
 
  using Microsoft.Win32;
 
 
  public class Class1
 
  {
 
  public Class1()
 
  {
 
  //
 
  // TODO: Add Constructor Logic here
 
  //
 
  }
 
 
  public static int Main(string[] args)
 
  {
 
 
  RegistryKey SUBKEY;
 
  RegistryKey TAWKAY = RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.CurrentUser,"");
 
  string subkey = "Software\\TAW\\BSE";
 
  SUBKEY = TAWKAY.OpenSubKey(subkey);
 
  object dsn = SUBKEY.GetValue("DSN");
 
  object user = SUBKEY.GetValue("user");
 
  object password = SUBKEY.GetValue("password");
 
  object server = SUBKEY.GetValue("server");
 
  return 0;
 
  }
 
  }
 
  }
 
 
  这里是可下载代码包:http://www.mindcracker.com/csharp/1/read_reg.cs
 
  使用系统剪贴板
 
  这里要涉及的集合是System.Winforms.dll,名称空间是System.Winforms。
 
 
  系统剪贴板是一个提供剪切和粘贴功能的缓冲空间。在C#中,ClipBoard类提供了将数据放在系统剪贴板以及从系统剪贴板恢复数据的方法。如果你曾经使用过C  中的ClipBoard,你应该记得IDataObject,它提供了剪贴板的数据格式。在.NET中,可以使用DataFormat类,它执行IdataObject,为数据传输提供了一种格式独立的结构。有关这方面的细节请看DataFormat类的参考资料。
 
 
  Clipboard类只有3个成员,它们是剪贴板构造器、GetDataObject和SetDataObject。
 
 
  剪贴板构造器
 
 
  Clipboad类直接从Object类中派生出来。我们可以在应用程序中直接调用Clipboard类,或者使用剪贴板构造器来创建一个剪贴板实例:
 
 
  Clipboard = new Clipboard();
 
 
  甚至可以直接在应用程序中调用Clipboard:
 
 
  IDataObject iData = System.WinForms.Clipboard.GetDataObject();
 
 
  SetDataObject方法
 
 
  我们可以调用SetDataObject方法实现在剪贴板上复制或剪切数据。SetDataObject方法有两个定义:
 
 
  public static void SetDataObject(Object);
 
 
  这种方法使用了一个Object类型参数,它可以是任何数据,比如说:
 
 
  string str = "Mahesh writing data to the Clipboard";
 
  SetDataObject(str);
 
 
  使用这个方法,就可以把任何类型的数据放在剪贴板上。
 
 
  另外一种方法接受两个参数:
 
 
  public static void SetDataObject(Object data, bool copy);
 
 
  copy这个参数指明应用程序退出后,数据是否应该保留在剪贴板上。
 
 
  string str = "Mahesh writing data to the Clipboard using Copy bool";
 
  SetDataObject(str, true);
 
 
 
  GetDataObject方法
 
 
  GetDataObject方法负责从剪贴板中恢复当前数据,它将返回IdataObject:
 
 
  public static IDataObject GetDataObject();
 
 
  比如说:
 
 
  IDataObject dtObj = Clipboard.GetDataObject();
 
 
  现在就可以调用IDataObject的GetFormats来找出剪贴板上的数据格式了,比如说:
 
 
  private void CutCopyData()
 
  {
 
  Clipboard.SetDataObject(textBox1.SelectedText);
 
  }
 
 
  private void PasteData()
 
  {
 
  IDataObject iData = Clipboard.GetDataObject();
 
  //Determine whether the data is in a format you can use.
 
  if(iData.GetDataPresent(DataFormats.Text))
 
  {
 
  string str = (String)iData.GetData(DataFormats.Text);
 
  }
 
  }
 
 
    (2005-11-02:12:42)
 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 警告:持续变种木马正在发起农历新年攻势!
 您可能对 [C#] 的这些文章也感兴趣:
C#调用非托管DLL的APIs
用VB.NET 2005编写定时关机程序
《Effective C#》:区别四个判等函数
C#基础学习——异步编程篇
C#编程规范--控件命名篇
c#中使用多线程
C#多线程参数传递
在C#程序中使用系统热键
C# 3.0新特性系列:隐含类型var
C#程序随Windows一起启动
C#操作注册表
C#随机启动、监控WINDOWS服务的窗体程序