程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#積木模塊ABC(4)

C#積木模塊ABC(4)

編輯:C#入門知識

13.如何在C#中發送郵件?

要在C#中實現發送郵件的功能,需要使用的工具是Visual C# .NET,涉及到的名稱空間有System.Web.Util,集合有System.Web.dll。

具體地,我們可以使用SmtpMail類在C#應用程序中發送郵件。默認狀態下,郵件在系統中是排隊的,這樣可以確保調用程序不會造成網絡阻塞。SmtpMail類在System.Web.Util名稱空間中定義。在使用SmtpMail之前,需要調用

using System.Web.Util

這個類中只有一個成員函數Send。它負責發送一個郵件信息,無論是一個MailMessage類或者是4個參數變量都可以傳遞給Send函數。調用Send函數有兩種形式:

SmtpMail.Send(txtFrom.Text, txtTo.Text, txtSubject.Text, txtMessage.Text);

或者是(如果不想調用System.Web.Util):

System.Web.Util.Smptmail.Send( fromString, toString, SubjeOfTheMailString, MessageOfTheMailString );

我們可以通過兩種途徑來調用Send方法:

1、通過將MailMessage作為一個參數來傳遞:

public static void Send(MailMessage);

這裡的MailMessage是一個類。

MailMessage mailMsg = new MailMessage();

mailMsg .From = "[email protected]";

mailMsg .To = "[email protected]";

mailMsg .Cc = "[email protected]"";

mailMsg .Bcc = "[email protected]";

mailMsg .Subject = "SubjectOfTheMailString";

mailMsg .Body = "BodyOfTheMailString";

SmtpMail.Send(mailMsg );

2、直接方法

public static void Send(string from , string to, string subject, string messageText);

from=發送者的Email信息,to=接收者的Email信息,subject=Email主題,messageText=Email信息主體。

比如:

SmtpMail.Send("[email protected]", "[email protected]", "Subject", "Message body");

下面解釋如何從控制台獲取一個輸入值。如果使用的是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。


 

14.如何讀取Windows注冊表信息?

在介紹如何讀取注冊表信息前,先解釋如何增加注冊條目。

1、增加注冊表數據

以下文本是實際的注冊信息。將這個內容復制並粘貼到一個文本文件中,將其保存擴展名為.reg的文件,然後雙擊這個文件進行注冊表內容的輸入操作。

/*Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareTAWBSE]

"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


 

15.使用系統剪貼板

這裡要涉及的集合是System.Winforms.dll,名稱空間是System.Winforms。

系統剪貼板是一個提供剪切和粘貼功能的緩沖空間。在C#中,ClipBoard類提供了將數據放在系統剪貼板以及從系統剪貼板恢復數據的方法。如果你曾經使用過C++中的ClipBoard,你應該記得IDataObject,它提供了剪貼板的數據格式。在.NET中,可以使用DataFormat類,它執行IdataObject,為數據傳輸提供了一種格式獨立的結構。有關這方面的細節請看DataFormat類的參考資料。

Clipboard類只有3個成員,它們是剪貼板構造器、GetDataObject和SetDataObject。

16.剪貼板構造器

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();

file://Determine whether the data is in a format you can use.

if(iData.GetDataPresent(DataFormats.Text))

{

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved