您現在的位置是:電腦技術吧?>? 基礎知識 ??>??%c,8c??>??正文詳情

%c,8c

棟爾煙2019-12-13 15:22:28 人圍觀
簡介7c顯然手動設置本地網絡是不可取的,所以我們需要讓程序幫助我們完成它。需要的朋友可以指網絡在我們今天的生活和工作中越來越重要的作用。可以說,沒有網絡,我們就無法正常

手動設置本地網絡的方法顯然很不可取,所以我們要讓程序幫我們完成,需要的朋友可以參考下如今網絡在我們的生活工作中所起的作用越來越大,可以說離開了網絡我們就無法正常的工作和生活。

作為程序員我們寫的程序大多數也會跟網絡相關,而想要使用網絡首先要將機器的網絡配置設置好。

而手動設置的方法顯然很不可取,所以我們要讓程序幫我們完成。

下面是一個很常用的C#設置系統各種網絡參數的一個小Demo一起看看吧。

這個Demo是通過Win32_NetworkAdapterConfiguration這個管理類.這里面已基本包括了IP,DNS,網關的設置信息。

在C#中使用WMI還是比較簡單的:代碼如下:using System;using System.Collections.Generic;using System.Text;using System;using System.Collections;using System.Text;using System.Management;using System.Text.RegularExpressions;namespace Demo{/// summary/// 網絡設置類,設置網絡的各種參數(DNS、網關、子網掩碼、IP)/// /summarypublic class NetworkSetting{public NetworkSetting(){// 構造函數邏輯}/// summary/// 設置DNS/// /summary/// param name=dns/parampublic static void SetDNS(string[] dns){SetIPAddress(null, null, null, dns);}/// summary/// 設置網關/// /summary/// param name=getway/parampublic static void SetGetWay(string getway){SetIPAddress(null, null, new string[] { getway }, null);}/// summary/// 設置網關/// /summary/// param name=getway/parampublic static void SetGetWay(string[] getway){SetIPAddress(null, null, getway, null);}/// summary/// 設置IP地址和掩碼/// /summary/// param name=ip/param/// param name=submask/parampublic static void SetIPAddress(string ip, string submask){SetIPAddress(new string[] { ip }, new string[] { submask }, null, null);}/// summary/// 設置IP地址,掩碼和網關/// /summary/// param name=ip/param/// param name=submask/param/// param name=getway/parampublic static void SetIPAddress(string ip, string submask, string getway){SetIPAddress(new string[] { ip }, new string[] { submask }, new string[] { getway }, null);}/// summary/// 設置IP地址,掩碼,網關和DNS/// /summary/// param name=ip/param/// param name=submask/param/// param name=getway/param/// param name=dns/parampublic static void SetIPAddress(string[] ip, string[] submask, string[] getway, string[] dns){ManagementClass wmi = new ManagementClass(Win32_NetworkAdapterConfiguration);ManagementObjectCollection moc = wmi.GetInstances();ManagementBaseObject inPar = null;ManagementBaseObject outPar = null;foreach (ManagementObject mo in moc){//如果沒有啟用IP設置的網絡設備則跳過if (!(bool) mo[IPEnabled])continue;//設置IP地址和掩碼if (ip != null submask != null){inPar = mo.GetMethodParameters(EnableStatic);inPar[IPAddress] = ip;inPar[SubnetMask] = submask;outPar = mo.InvokeMethod(EnableStatic, inPar, null);}//設置網關地址if (getway != null){inPar = mo.GetMethodParameters(SetGateways);inPar[DefaultIPGateway] = getway;outPar = mo.InvokeMethod(SetGateways, inPar, null);}//設置DNS地址if (dns != null){inPar = mo.GetMethodParameters(SetDNSServerSearchOrder);inPar[DNSServerSearchOrder] = dns;outPar = mo.InvokeMethod(SetDNSServerSearchOrder, inPar, null);}}}/// summary/// 啟用DHCP服務器/// /summarypublic static void EnableDHCP(){ManagementClass wmi = new ManagementClass(Win32_NetworkAdapterConfiguration);ManagementObjectCollection moc = wmi.GetInstances();foreach (ManagementObject mo in moc){//如果沒有啟用IP設置的網絡設備則跳過if (!(bool) mo[IPEnabled])continue;//重置DNS為空mo.InvokeMethod(SetDNSServerSearchOrder, null);//開啟DHCPmo.InvokeMethod(EnableDHCP, null);}}/// summary/// 判斷是否符合IP地址格式/// /summary/// param name=ip/param/// returns/returnspublic static bool IsIPAddress(string ip){//將完整的IP以.為界限分組string[] arr = ip.Split('.');//判斷IP是否為四組數組成if (arr.Length != 4)return false;//正則表達式,1~3位整數string pattern = @d{1,3};for (int i = 0; i arr.Length; i ){string d = arr[i];//判斷IP開頭是否為0if (i == 0 d == 0)return false;//判斷IP是否是由1~3位數組成if (!Regex.IsMatch(d, pattern))return false;if (d != 0){//判斷IP的每組數是否全為0d = d.TrimStart('0');if (d == )return false;//判斷IP每組數是否大于255if (int.Parse(d) 255)return false;}} return true;}}}好了,寫好上面這個類以后,就等著哪里需要然后NEW一個就可以了。

很簡單吧,如果遇到設置失敗的情況,可能是因為權限不夠,請參考C#默認以管理員身份運行程序

版權聲明:本文由 棟爾煙 整理編輯。

原標題:c ,a/c

轉載注明出處:http://www.dn9ww09s.icu/basics/15430.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • html打開asp頁面,aspnet頁面傳值方式

    html打開asp頁面,aspnet頁面傳值方式 相關圖片asp開發網頁本文主要介紹了asp.net錯誤頁處理的實例。對于朋友,請參考以下1。新golbal.asax的代碼如下:void application[error(obje網頁創建asp...

  • %c,8c

    %c,8c 相關圖片7c本文主要介紹C?判斷兩幅圖像是否一致的快速方法。對于需要的朋友,請參考以下代碼:?區域判斷圖片是否一致//summary///判斷圖片是否一致///summarc=...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • asp變量查詢代碼,季度查詢asp代碼

    asp變量查詢代碼,季度查詢asp代碼 相關圖片asp網站表格代碼%Response. Write scriptalert ('19981) if request (ID) =;aspajax批量查詢...

  • aspx的數據傳遞到aspxcs,.cs

    aspx的數據傳遞到aspxcs,.cs 相關圖片js在aspx沒反應本文主要介紹了在后臺刷新ASPX頁面的四種方法。凈現金。對于朋友,請參考以下內容:回復。重定向(請求。網址。Tostring());響應。寫入(腳本語言=Jaspx是什么語言...

  • emlog友情鏈接插件,Typecho插件

    emlog友情鏈接插件,Typecho插件 相關圖片typecho優酷插件本文主要介紹Typecho插件編寫教程(1):HelloWorld。本文介紹了插件的文件結構、插件信息、插件結構、插件過程等內容。對于你的朋友,你可以參考一下老typecho301插件...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • 關閉iOS更新,ios更新怎么關閉

    關閉iOS更新,ios更新怎么關閉 相關圖片ios關閉自動更新在IOS應用程序開發中,可以打開虛擬鍵盤進行輸入操作的視圖對象有三種,但是如何關閉虛擬鍵盤還沒有提供一種自動的方法。這需要我們自己來實現。首先,按鍵盤上...

  • asp是什么,asp和php

    asp是什么,asp和php 相關圖片asp網頁本文主要介紹了asp.net連接mysql數據庫的兩種方法和實例。它使用官方的MySQL組件和odbc.net。您可以參考以下方法給您的朋友:使用MySQL官方net是啥...

  • 因為程序錯誤是什么,無法完成請求因為程序錯誤

    因為程序錯誤是什么,無法完成請求因為程序錯誤 相關圖片電腦老是彈出應用程序錯誤我以前沒有使用過XP系統(XP在大學時我就用過,但從那以后我就沒有使用過XP了。那時候我不喜歡它漂亮的界面,呵呵。),我沒有遇到過這樣的問題。今天,...

熱評文章

  • excel示例表,excel表格例子

    excel示例表,excel表格例子 相關圖片excel例子本文主要介紹了asp.net讀取excel文件的三種方法:OLEDB讀取excel文件、COM組件讀取excel文件和文件流讀取excel文件。有需要的朋友可以excel表格篩選...

  • 替換空格,excel去空格

    替換空格,excel去空格 相關圖片怎么把空格去掉本文主要介紹了壓縮ASPX頁面和消除冗余空間的兩種方法。可以在發布頁面之前壓縮ASPX,而不會浪費web服務器的CPU。您可以參考以下兩種方法給您的朋友:1)逐如何把空...

  • 怎么查信用卡卡號,信用卡卡號查詢

    怎么查信用卡卡號,信用卡卡號查詢 相關圖片信用卡還款本文主要介紹了驗證信用卡號是否正確的PHP函數。本文直接給出了實現代碼。作為參考,您可以使用以下PHP函數來驗證卡號是否為信用卡:?12345678910111信用卡怎么還款...

  • 字符串忽略大小寫,字符串字母大小寫轉換

    字符串忽略大小寫,字符串字母大小寫轉換 相關圖片字符串變大寫常用的替換函數代碼如下:公共函數高光(s,f)dimtl,TM,TR,K TL=TM=TR=s K=instr(1,TR,f,1)do whilek0 TL=Tjava字符串大小寫轉換函數...

  • ASP23,ASP技術

    ASP23,ASP技術 相關圖片aspzNextrecordset和getrows是記錄集的兩個屬性,對于提高批量查詢的速度非常有效。你可能用得很少。共享這兩個方法的用法:getrows方法:將記錄集asp60...

  • phpstorm快捷鍵,phpstorm快捷鍵大全

    phpstorm快捷鍵,phpstorm快捷鍵大全 相關圖片Phpstorm快捷鍵搜索文件名本文主要介紹PHP-ide格式的常用快捷鍵。本文分別列出了MAC系統和windows系統下phpstorm的快捷鍵。對于需要參考下一條的朋友,請使用Mac機phps注釋快捷鍵...

  • 粒子群算法實例,什么是算法

    粒子群算法實例,什么是算法 相關圖片nagle算法本文主要介紹PHP哈希算法:一個times33算法代碼的例子。本文直接給出了實現代碼。你可以參考你朋友的最新一本書,里面提到了一些散列算法。最讓人印象深刻的是,dekker算法...

  • wps上傳文件大小限制,php上傳文件大小限制

    wps上傳文件大小限制,php上傳文件大小限制 相關圖片怎樣調整照片文件大小在將文件上載到服務器之前,ASP文件上載組件用于確定文件大小是否超過指定的大小。在本例中,upload?file upload組件file.filesize10文檔大小超出上傳限制...

  • 接口的定義,usb定義

    接口的定義,usb定義 相關圖片type-c接口引腳定義圖本文主要介紹PHP中的六個預定義接口。本文介紹了traversable、iterator、iteratoraggregate、arrayaccess、seriaminidp接口...

  • asp生成驗證碼,生成驗證碼

    asp生成驗證碼,生成驗證碼 相關圖片更換asp的驗證碼下面的代碼是一個使用ASP生成圖像驗證代碼的程序。大多數寫驗證碼的人都會知道。讓我們看看如何生成這個圖像驗證代碼。%Option ExplicitResponsasp輸出漢字驗證碼...

關注微信

变脸官网查询