2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課 程 設(shè) 計(jì)</b></p><p><b>  報(bào)</b></p><p><b>  告</b></p><p>  學(xué)年學(xué)期 2010-2011學(xué)年第二學(xué)期</p><p>  課程名稱 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)</p>&l

2、t;p>  院 系 計(jì)算機(jī)系</p><p>  專 業(yè) 網(wǎng)絡(luò)工程</p><p>  學(xué) 號 </p><p>  姓 名 </p><p><b>  指導(dǎo)教師 </b></p><p>  二O一一 年

3、六 月 三十 日</p><p><b>  摘 要</b></p><p>  本機(jī)網(wǎng)絡(luò)信息管理器提供了有關(guān)計(jì)算機(jī)性能的信息,并顯示了計(jì)算機(jī)上主要設(shè)備信息;如果連接到網(wǎng)絡(luò),那么還可以查看網(wǎng)絡(luò)狀態(tài)并迅速了解網(wǎng)絡(luò)是如何工作的。它的用戶界面提供了設(shè)置網(wǎng)絡(luò)信息的選項(xiàng),其下還有具體的內(nèi)容設(shè)置,而且這里可以查看到當(dāng)前系統(tǒng)的CPU使用比率、內(nèi)存等數(shù)據(jù),默認(rèn)設(shè)置下系統(tǒng)每隔兩秒

4、鐘對數(shù)據(jù)進(jìn)行1次自動(dòng)更新。</p><p>  現(xiàn)在是網(wǎng)絡(luò)的社會(huì),在應(yīng)用網(wǎng)絡(luò)的同時(shí)也要對計(jì)算機(jī)的信息進(jìn)行保護(hù),因而需要進(jìn)行本地計(jì)算機(jī)網(wǎng)絡(luò)信息管理,使得我們更好的進(jìn)行計(jì)算機(jī)的運(yùn)用。以及對信息的管理和保護(hù)。因而有了這樣的一個(gè)課程設(shè)計(jì)。</p><p><b>  一緒論</b></p><p>  本文所介紹的網(wǎng)絡(luò)信息管理系統(tǒng)是基于開放的C#應(yīng)用程

5、序開發(fā)設(shè)計(jì)的,其主要特性是能動(dòng)態(tài)、實(shí)時(shí)的完成信息的傳遞,且具有高效的交互性,更有效的反映本機(jī)的網(wǎng)絡(luò)設(shè)置狀況,易于維護(hù)和更新,其運(yùn)行所需環(huán)境及其工作流程和各個(gè)功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。1 IP/TCP協(xié)議常識</p><p>  (1)IP、TCP協(xié)議的特點(diǎn):</p><p>  TCP/IP(Transmission Control Protoco

6、l/Internet Protocol)是傳輸控制協(xié)議/網(wǎng)際協(xié)議的縮寫, TCP/IP是當(dāng)今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個(gè)層次,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)接口層。</p><p>  IP協(xié)議的作用:第一,它是網(wǎng)絡(luò)層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無連接的服務(wù)。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒有差錯(cuò)校驗(yàn)和處理的機(jī)制。&l

7、t;/p><p>  TCP協(xié)議的功能:差錯(cuò)控制——可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務(wù),它用三次握手和滑動(dòng)窗口機(jī)制來保證傳輸?shù)目煽啃?,及進(jìn)行流量控制。</p><p>  TCP/IP協(xié)議具有以下特點(diǎn):</p><p>  協(xié)議標(biāo)準(zhǔn)具有開放性,其獨(dú)立于特定的計(jì)算機(jī)硬件及操作系統(tǒng),可以免費(fèi)使用。統(tǒng)一

8、分配網(wǎng)絡(luò)地址,使得每個(gè)TCP/IP 設(shè)備在網(wǎng)絡(luò)中都具有唯一的IP地址。實(shí)現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶提供多種可靠的服務(wù)。</p><p>  (2)TCP/IP協(xié)議進(jìn)行傳輸數(shù)據(jù)傳輸?shù)倪^程:</p><p>  應(yīng)用程序?yàn)榱藗鬏敂?shù)據(jù)會(huì)調(diào)用TCP,將數(shù)據(jù)和對應(yīng)的參數(shù)傳給TCP,將TCP 數(shù)據(jù)包封裝在IP包內(nèi),通過網(wǎng)絡(luò)送給目的TCP。接收方TCP在接收到數(shù)據(jù)后通知上層應(yīng)用程序,TCP將保證接

9、收數(shù)據(jù)的正確性。在實(shí)現(xiàn)TCP的主機(jī)上,TCP可以被看成是一個(gè)模塊,和文件系統(tǒng)區(qū)別不大,TCP 也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡(luò)打交道,控制網(wǎng)絡(luò)的任務(wù)由專門的設(shè)備驅(qū)動(dòng)模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務(wù)。</p><p><b>  (3)端口號:</b></p><p>  有的時(shí)候,一個(gè)ip地址不能完整的標(biāo)識一臺(tái)服務(wù)器,

10、這是應(yīng)為一臺(tái)物理性的計(jì)算機(jī)同時(shí)運(yùn)行著多個(gè)應(yīng)用程序,這就需要我們來區(qū)別同一臺(tái)機(jī)子上的不同的服務(wù),所以就在傳輸層和應(yīng)用層上設(shè)置接口,就是 端口。端口實(shí)際是一個(gè)16位長的 地址,他的范圍是0~65535之間,其中0~1023是熟知端口,主要是給提供服務(wù)的應(yīng)用程序使用,這些端口是所有應(yīng)用進(jìn)程都只道的,1024~65535為一般端口,也稱動(dòng)態(tài)端口、連接端口,用來隨時(shí)分配要求通信的個(gè)客戶端應(yīng)用程序。在數(shù)據(jù)傳輸過程中,各種服務(wù)器不斷的檢測分配給他的端

11、口,一邊發(fā)現(xiàn)要求和他通信的客戶端。</p><p>  2Windows Management Instrumentation,Windows 管理規(guī)范</p><p>  WMI(Windows Management Instrumentation,Windows 管理規(guī)范)是一項(xiàng)核心的 Windows 管理技術(shù);用戶可以使用 WMI 管理本地和遠(yuǎn)程計(jì)算機(jī)。</p><

12、;p>  Windows 2K/XP和Windows 98 都支持WMI;如果為NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N </p><p>  WMIT 4.0和Win95也支持WMI。因此,用WMI進(jìn)行遠(yuǎn)程管理時(shí),并非一定要用Windows 2K/XP(當(dāng)然,如果WMI腳本在一臺(tái)沒有性能監(jiān)視器的Win9x機(jī)器上運(yùn)行,就不能在遠(yuǎn)程Win9x系統(tǒng)上查詢Windows

13、 2K/XP的性能監(jiān)視器。 </p><p>  如前所述,WMI允許通過一個(gè)公共的接口訪問多種操作系統(tǒng)構(gòu)成單元,因此不必分別對待各種底層接口或所謂的“提供者”。利用WMI可以高效地管理遠(yuǎn)程和本地的計(jì)算機(jī);與此相對,并非所有的Windows 2K/XP命令行工具都支持遠(yuǎn)程運(yùn)行。 </p><p>  WMI是WBEM模型的一種實(shí)現(xiàn)。WBEM即Web-Based Enterprise Man

14、agement,或基于Web的企業(yè)管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任務(wù)組)在許多廠商的幫助下創(chuàng)立,包括Compaq、Sun、Microsoft等。WBEM的目標(biāo)是,為管理企業(yè)環(huán)境開發(fā)一個(gè)標(biāo)準(zhǔn)的接口集。WBEM模型最關(guān)鍵的部分是它的數(shù)據(jù)模型(或描述和定義對象的方式)、編碼規(guī)范(Encoding Specification),以及在客戶端和服務(wù)器端之間傳輸數(shù)據(jù)的模式。

15、</p><p>  WBEM的數(shù)據(jù)模型是CIM(Common Information Model,公共信息模型)。CIM是一個(gè)用來命名計(jì)算機(jī)的物理和邏輯單元的標(biāo)準(zhǔn)的命名系統(tǒng)(或稱為命名模式),例如硬盤的邏輯分區(qū)、正在運(yùn)行的應(yīng)用的一個(gè)實(shí)例,或者一條電纜。 </p><p>  CIM是一個(gè)面向?qū)ο蟮哪P?,使用一組面向?qū)ο蟮男g(shù)語進(jìn)行描述。CIM包含類(Class),類是被管理單元的模板。類的

16、實(shí)例稱為對象(Object),對象代表著底層系統(tǒng)的一個(gè)具體單元。名稱空間(Namespace)是一個(gè)類的集合,每個(gè)名稱空間面向一個(gè)特定的管理領(lǐng)域。類包含屬性(Property)和方法(Method)。 </p><p>  CIM分三層。第一層是核心模型(Core Model),這一層包含的類定義對于所有管理領(lǐng)域來說都是共同的。第二層是公共模型(Common Model),這一層包含的類定義對于特定的管理領(lǐng)域來說

17、是公共的,但與具體的操作系統(tǒng)和系統(tǒng)設(shè)計(jì)無關(guān)。第三層是擴(kuò)展模型(Extension model),這一層包含的類定義與特定的操作系統(tǒng)或技術(shù)有關(guān)。 </p><p>  WMI是Microsoft擴(kuò)展CIM 2.0得到的面向Win32系統(tǒng)的擴(kuò)展模型。引用WMI類和屬性的形式是“擴(kuò)展前綴_類名稱.屬性名稱”,例如Win32_ComputerSystem. Name,其中Win32是CIM模式cimv2名稱空間內(nèi)WMI擴(kuò)

18、展類的前綴,ComputerSystem是類,Name是屬性。 </p><p>  編寫WMI腳本的很大一部分工作涉及到讀取和設(shè)置屬性值。當(dāng)前,WMI提供的方法還很有限,但隨著時(shí)間的推移,相信WMI和CIM提供的方法都會(huì)越來越豐富。</p><p><b>  二 規(guī)劃設(shè)計(jì)</b></p><p>  本信息管理系統(tǒng)分為三個(gè)部分:</p

19、><p> ?。保紫仁?,是對本機(jī)的基本信息的獲取,包括CPU、內(nèi)存等,以及網(wǎng)絡(luò)信息的獲取,包括域名、工作組等,最后還用CPU、內(nèi)存等使用情況的監(jiān)視。 ?。玻浯危菍Ρ緳C(jī)的所有可用網(wǎng)絡(luò)適配器的設(shè)置,包括IP地址、子網(wǎng)掩碼、DNS服務(wù)器地址等等。</p><p>  3.然后,是對本機(jī)的共享內(nèi)容的管理,包括共享文件夾的添加和取消,網(wǎng)絡(luò)服務(wù)的查看等。</p><p> 

20、 4.最后,是對所有本機(jī)網(wǎng)絡(luò)連接的監(jiān)控和統(tǒng)計(jì)。</p><p>  三系統(tǒng)分析與設(shè)計(jì)方案</p><p>  1信息管理系統(tǒng)的總體設(shè)計(jì)要點(diǎn) 1.本系統(tǒng)以實(shí)用為主,實(shí)現(xiàn)的都是用戶最常用的功能,簡化了系統(tǒng)自帶的軟件的使用。</p><p>  2.本系統(tǒng)界面設(shè)計(jì)直觀,易用性強(qiáng)</p><p><b>  2系統(tǒng)各功能模塊</

21、b></p><p> ?。?)本機(jī)基本信息獲取使用了PerformanceCounter和WMI等方式獲取系統(tǒng)信息,以及通過讀取注冊表讀取本機(jī)操作系統(tǒng)信息,通過線程的方式監(jiān)控系統(tǒng)性能。</p><p><b>  源碼:</b></p><p>  PerformanceCounter pc = new PerformanceCount

22、er("Memory", "Available MBytes");</p><p>  PerformanceCounter cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total");</p><p>  

23、Thread m_thread;</p><p>  [DllImport("IpHlpApi.dll")]</p><p>  extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);</p><p>  public Form1(

24、)</p><p><b>  {</b></p><p>  new Form2().Show();</p><p>  InitializeComponent();</p><p>  RegistryKey rk;</p><p>  DirectoryEntry root = new Di

25、rectoryEntry("WinNT:");</p><p>  string strDomain = null, cpuid = null, meo = null;</p><p>  foreach (DirectoryEntry Domain in root.Children)</p><p><b>  {</b>

26、</p><p><b>  //枚舉工作組或域</b></p><p>  strDomain = strDomain + " " + Domain.Name;</p><p><b>  }</b></p><p>  ManagementClass mClass = new

27、 ManagementClass("Win32_Processor");</p><p>  ManagementObjectCollection moCollection = mClass.GetInstances();</p><p>  foreach (ManagementObject mObject in moCollection)</p>&l

28、t;p><b>  {</b></p><p>  cpuid += mObject["Name"].ToString() + " ";</p><p><b>  }</b></p><p>  mClass = new ManagementClass("Win32

29、_PhysicalMemory");</p><p>  moCollection = mClass.GetInstances();</p><p>  foreach (ManagementObject mObject in moCollection)</p><p><b>  {</b></p><p>

30、  meo += mObject["Capacity"].ToString();</p><p><b>  }</b></p><p>  rk = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion");</

31、p><p>  label6.Text = System.Environment.MachineName;</p><p>  label8.Text = System.Net.Dns.GetHostEntry("LocalHost").HostName;</p><p>  label9.Text = rk.GetValue("Produ

32、ctName").ToString() + " " + rk.GetValue("CurrentVersion").ToString() + "." + rk.GetValue("CurrentBuildNumber").ToString();</p><p>  label10.Text = strDomain;</

33、p><p>  label11.Text = cpuid;</p><p>  label12.Text = meo + " 字節(jié)";</p><p>  progressBar1.Maximum = (int)(float.Parse(meo) / 1048576.0);</p><p>  m_thread = new T

34、hread(new ThreadStart(workr));</p><p>  m_thread.IsBackground = true;</p><p>  m_thread.Start();</p><p>  ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfigur

35、ation");</p><p>  ManagementObjectCollection moc = mc.GetInstances();</p><p>  foreach (ManagementObject mo in moc)</p><p><b>  {</b></p><p>  if ((boo

36、l)mo["IPEnabled"] == true)</p><p>  comboBox1.Items.Add(mo["Description"].ToString());</p><p><b>  }</b></p><p>  comboBox1.Enabled = true;</p>

37、<p>  mc = new ManagementClass("Win32_Service");</p><p>  moc = mc.GetInstances();</p><p>  foreach (ManagementObject mo in moc)</p><p><b>  {</b></p

38、><p>  if (mo["StartName"].ToString() == "NT AUTHORITY\\NetworkService")</p><p>  comboBox2.Items.Add(mo["Caption"].ToString());</p><p><b>  }</b

39、></p><p>  comboBox2.Enabled = true;</p><p>  mc.Dispose();</p><p>  moc.Dispose();</p><p>  maskedTextBox1.AllowPromptAsInput = false;</p><p>  private

40、 delegate void dfun();</p><p>  private void workr() { while (true) { Thread.Sleep(500); work(); } }</p><p>  private void work()</p><p><b>  {</b></p><p> 

41、 if (this.progressBar1.InvokeRequired && this.progressBar2.InvokeRequired)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p&

42、gt;<p>  dfun df = new dfun(work);</p><p>  this.Invoke(df);</p><p><b>  }</b></p><p>  catch { };</p><p><b>  }</b></p><p>

43、<b>  else</b></p><p><b>  {</b></p><p>  this.progressBar1.Value = (int)this.pc.NextValue();</p><p>  this.label13.Text = this.progressBar1.Value.ToString()

44、+ "MB / " + this.progressBar1.Maximum.ToString() + "MB";</p><p>  this.progressBar2.Value = (int)cpu.NextValue();</p><p>  this.label16.Text = DateTime.Now.ToString();</p&

45、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  (2)網(wǎng)絡(luò)設(shè)置部分主要通過WMI獲取和設(shè)置本機(jī)網(wǎng)絡(luò)適配器的信息和設(shè)置,可以自動(dòng)獲取當(dāng)前可用的適配器,同時(shí),能對不符合規(guī)范的的設(shè)置進(jìn)行提示。具體的源碼如下:</p><p>  private void combo

46、Box1_SelectionChangeCommitted(object sender, EventArgs e)</p><p><b>  {</b></p><p>  ManagementObjectSearcher query = new</p><p>  ManagementObjectSearcher("SELECT

47、* FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");</p><p>  ManagementObjectCollection queryCollection = query.Get();</p><p>  foreach (ManagementObject mo in quer

48、yCollection)</p><p><b>  {</b></p><p>  if (mo["Description"].ToString() == comboBox1.Text)</p><p><b>  {</b></p><p>  string[] ipad =

49、 (string[])mo["IPAddress"];</p><p>  label23.Text = ipad[0];</p><p>  string[] subnets = (string[])mo["IPSubnet"];</p><p>  label24.Text = subnets[0];</p>

50、<p>  string[] defaultgateways = (string[])mo["DefaultIPGateway"];</p><p>  if (defaultgateways != null)</p><p>  label27.Text = defaultgateways[0];</p><p>  else la

51、bel27.Text = "";</p><p>  label26.Text = mo["MACAddress"].ToString();</p><p>  string[] dns = (string[])mo["DNSServerSearchOrder"];</p><p>  if (dns !=

52、 null)</p><p>  label28.Text = dns[0];</p><p>  else if (dns == null)</p><p>  label29.Text = "";</p><p>  else if (dns.Length == 2)</p><p>  lab

53、el29.Text = dns[1];</p><p>  else { label29.Text = ""; }</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

54、<p><b>  /*</b></p><p>  private void button3_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string[] mac = maskedTextBox5.Text.Split('

55、;:');</p><p>  string pstr = "^[0-9a-fA-F]+$";</p><p>  string ma="" ;</p><p>  for (int n = 0; n < 5; n++)</p><p>  if (!Regex.IsMatch(mac[n

56、],pstr))</p><p><b>  {</b></p><p>  MessageBox.Show("MAC地址為16進(jìn)制,即00~FF", "錯(cuò)誤");</p><p><b>  goto L1;</b></p><p><b>  }

57、</b></p><p>  else ma += mac[n]+":";</p><p>  ma = ma.Substring(0, ma.Length - 1);</p><p>  ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfig

58、uration");</p><p>  ManagementObjectCollection moc = mc.GetInstances();</p><p>  foreach (ManagementObject mo in moc)</p><p><b>  {</b></p><p>  if ((b

59、ool)mo["IPEnabled"])</p><p><b>  {</b></p><p>  if (mo["Description"].ToString() == comboBox1.Text)</p><p><b>  {</b></p><p>

60、;  ManagementBaseObject newMAC = mo.GetMethodParameters("SetMACAddress");</p><p>  newMAC["MACAddress"] = new string[] { ma };</p><p>  ManagementBaseObject setMAC = mo.Invok

61、eMethod("SetMACAddress", newMAC, null);</p><p>  label26.Text = mo["MACAddress"].ToString();</p><p>  mc.Dispose();</p><p><b>  }</b></p><

62、p><b>  }</b></p><p><b>  }</b></p><p><b>  L1: ;</b></p><p><b>  }</b></p><p><b>  */</b></p><

63、p>  private void button2_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string pstr = "0 .0 .0 .0";</p><p>  string GateStr = "",

64、 DnsStr = "", DnsbStr = "";</p><p>  bool gat, dn, dnb;</p><p>  gat = false;</p><p>  dn = false;</p><p>  dnb = false;</p><p>  strin

65、g[] gate = maskedTextBox6.Text.Split('.');</p><p>  string[] dns = maskedTextBox7.Text.Split('.');</p><p>  string[] dnsb = maskedTextBox2.Text.Split('.');</p><

66、;p>  if (!maskedTextBox6.Text.Equals(pstr))</p><p><b>  {</b></p><p>  for (int n = 0; n < 4; n++)</p><p>  if (int.Parse(gate[n]) > 255 || int.Parse(gate[n]) &

67、lt; 0)</p><p><b>  {</b></p><p>  MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b>  goto L4;</b></p><p><b>  }<

68、/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  GateStr += (gate[n].Trim() + ".");</p><p><b>  }</b></p><

69、;p>  GateStr = GateStr.Substring(0, GateStr.Length - 1);</p><p>  gat = true;</p><p><b>  }</b></p><p>  if (!maskedTextBox7.Text.Equals(pstr))</p><p>&l

70、t;b>  {</b></p><p>  for (int n = 0; n < 4; n++)</p><p>  if (int.Parse(dns[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b>  {</b></p><p>

71、  MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b>  goto L4;</b></p><p><b>  }</b></p><p>  for (int i = 0; i <= 3; i++)</p>

72、<p><b>  {</b></p><p>  DnsStr += (dns[i].Trim() + ".");</p><p><b>  }</b></p><p>  DnsStr = DnsStr.Substring(0, DnsStr.Length - 1);</p&g

73、t;<p>  dn = true;</p><p><b>  }</b></p><p>  if (!maskedTextBox2.Text.Equals(pstr))</p><p><b>  {</b></p><p>  for (int n = 0; n < 4;

74、 n++)</p><p>  if (int.Parse(dnsb[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b>  {</b></p><p>  MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");<

75、/p><p><b>  goto L4;</b></p><p><b>  }</b></p><p>  for (int i = 0; i <= 3; i++)</p><p><b>  {</b></p><p>  DnsbStr +=

76、(dnsb[i].Trim() + ".");</p><p><b>  }</b></p><p>  DnsbStr = DnsbStr.Substring(0, DnsbStr.Length - 1);</p><p>  dnb = true;</p><p><b>  }<

77、;/b></p><p>  ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p>  ManagementObjectCollection moc = mc.GetInstances();</p><p>  forea

78、ch (ManagementObject mo in moc)</p><p><b>  {</b></p><p>  if ((bool)mo["IPEnabled"])</p><p><b>  {</b></p><p>  if (mo["Descript

79、ion"].ToString() == comboBox1.Text)</p><p><b>  {</b></p><p>  if (gat == true)</p><p><b>  {</b></p><p>  ManagementBaseObject newGate = m

80、o.GetMethodParameters("SetGateways");</p><p>  newGate["DefaultIPGateway"] = new string[] { GateStr };</p><p>  ManagementBaseObject setGate = mo.InvokeMethod("SetGatewa

81、ys", newGate, null);</p><p>  label27.Text = mo["DefaultIPGateway"].ToString();</p><p><b>  }</b></p><p>  if (dn == true)</p><p><b>  

82、{</b></p><p>  string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p>  ManagementBaseObject newDns = mo.GetMethodParameters("SetDNSServerSearchOrder");</p>

83、<p>  newDns["DNSServerSearchOrder"] = new string[] { DnsStr, temp[1] };</p><p>  ManagementBaseObject setDns = mo.InvokeMethod("SetDNSServerSearchOrder", newDns, null);</p>

84、<p>  temp = (string[])mo["DNSServerSearchOrder"];</p><p>  label28.Text = temp[0];</p><p><b>  }</b></p><p>  if (dnb == true)</p><p><b

85、>  {</b></p><p>  string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p>  ManagementBaseObject newDnsb = mo.GetMethodParameters("SetDNSServerSearchOrder");<

86、;/p><p>  newDnsb["DNSServerSearchOrder"] = new string[] { temp[1], DnsbStr };</p><p>  ManagementBaseObject setDnsb = mo.InvokeMethod("SetDNSServerSearchOrder", newDnsb, null);

87、</p><p>  temp = (string[])mo["DNSServerSearchOrder"];</p><p>  label29.Text = temp[1];</p><p><b>  }</b></p><p>  mo.Dispose();</p><p&

88、gt;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  string[] str = maskedTextBox1.Text.Split('.');</p><p>  string[]

89、str1 = maskedTextBox4.Text.Split('.');</p><p>  ManagementClass mc1 = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p>  ManagementObjectCollection moc1 = mc.Ge

90、tInstances();</p><p>  if (255 < int.Parse(str[0]) || 255 < int.Parse(str[1]) || 255 < int.Parse(str[2]) || 255 < int.Parse(str[3]) || int.Parse(str[0]) < 1 || int.Parse(str[1]) < 0 || int.

91、Parse(str[2]) < 0 || int.Parse(str[3]) < 1 ||</p><p>  255 < int.Parse(str1[0]) || 255 < int.Parse(str1[1]) || 255 < int.Parse(str1[2]) || 255 < int.Parse(str1[3]) || int.Parse(str1[0]) <

92、; 1 || int.Parse(str1[1]) < 0 || int.Parse(str1[2]) < 0 || int.Parse(str1[3]) < 0) MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b>  else</b></p><p>

93、  foreach (ManagementObject mo in moc1)</p><p><b>  {</b></p><p>  if ((bool)mo["IPEnabled"])</p><p><b>  {</b></p><p>  if (mo["

94、Description"].ToString() == comboBox1.Text)</p><p><b>  {</b></p><p>  string IPStr = "", subStr = "";</p><p>  for (int i = 0; i <= 3; i++)&

95、lt;/p><p><b>  {</b></p><p>  IPStr += (str[i].Trim() + ".");</p><p><b>  }</b></p><p>  for (int i = 0; i <= 3; i++)</p><p

96、><b>  {</b></p><p>  subStr += (str1[i].Trim() + ".");</p><p><b>  }</b></p><p>  IPStr = IPStr.Substring(0, IPStr.Length - 1);</p><p

97、>  subStr = subStr.Substring(0, subStr.Length - 1);</p><p>  ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");</p><p>  newIP["IPAddress"] = new string[

98、] { IPStr };</p><p>  newIP["SubnetMask"] = new string[] { subStr };</p><p>  ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);</p><p> 

99、 label23.Text = IPStr;</p><p>  label24.Text = subStr;</p><p>  mc.Dispose();</p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

100、 }</b></p><p><b>  L4: ;</b></p><p><b>  }</b></p><p>  private void button4_Click(object sender, EventArgs e)</p><p><b>  {</b&g

101、t;</p><p>  ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p>  ManagementObjectCollection moc = wmi.GetInstances();</p><p>  foreach

102、(ManagementObject mo in moc)</p><p><b>  {</b></p><p>  //如果沒有啟用IP設(shè)置的網(wǎng)絡(luò)設(shè)備則跳過 </p><p>  if (mo["Description"].ToString() != comboBox1.Text)</p><p&g

103、t;<b>  continue;</b></p><p>  //重置DNS為空 </p><p>  mo.InvokeMethod("SetDNSServerSearchOrder", null);</p><p>  //開啟DHCP </p><p>  mo.InvokeMetho

104、d("EnableDHCP", null);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  四系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  1開發(fā)環(huán)境工具</b><

105、;/p><p>  基本系統(tǒng)的設(shè)計(jì)主要運(yùn)用C#與語言與WMI類結(jié)合而開發(fā)。其開發(fā)的主要環(huán)境包括:</p><p>  操作系統(tǒng):Windows 7</p><p>  集成開發(fā)環(huán)境:Microsoft Visual Studio 2010和.NET Framework 4.0</p><p>  使用環(huán)境: Windows 2K/XP以上和.NE

106、T Framework環(huán)境</p><p><b>  2硬件環(huán)境 </b></p><p>  本系統(tǒng)運(yùn)行環(huán)境所需用到的環(huán)境為:硬件配置 :</p><p>  CPU:intel core duo t6400 2.0G的處理器;</p><p>  硬 盤:160GB以上硬盤;</p><p

107、>  內(nèi) 存:2G DDR內(nèi)存;</p><p>  顯 卡:NVIDIA Geforce 9600M GS 512M顯存顯卡</p><p>  軟件環(huán)境:WINDOWS XP、Visual Studio 2010、.NET Framework4.0等。</p><p>  3網(wǎng)站功能模塊的測試</p><p>  圖1 本機(jī)信

108、息獲取 </p><p><b>  圖2 網(wǎng)絡(luò)設(shè)置</b></p><p><b>  圖3 共享設(shè)置</b></p><p><b>  圖4 網(wǎng)絡(luò)監(jiān)控</b></p><p><b>  五總 結(jié)</b></p><p>

109、;  通過本次的計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì),我學(xué)到了很多的知識,做了一個(gè)本地計(jì)算機(jī)網(wǎng)絡(luò)信息管理,運(yùn)用計(jì)算機(jī),信息是非常重要的,要對其進(jìn)行管理,要不然信息錯(cuò)亂或者流失會(huì)有很大的問題。因而通過本次的課程設(shè)計(jì),我受益匪淺。</p><p>  本課程設(shè)計(jì)實(shí)現(xiàn)了簡單的本機(jī)網(wǎng)絡(luò)系統(tǒng)的管理功能,經(jīng)過細(xì)心的調(diào)試和排錯(cuò)解決了絕大部分的問題。但幾乎每一個(gè)計(jì)算機(jī)程序都會(huì)有這樣那樣的不足,尤其是未經(jīng)過精心維護(hù)的非商業(yè)軟件。本管理系統(tǒng)程序?qū)τ诔?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論