青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Life & Code

代碼是咒語,我是魔法師

網卡類

//說明:平時做更改網卡IP這樣的活挺多的,粘來粘去麻煩,簡單的打了個包.
//引用:VCkbase_不重起Windows直接更改IP地址
//代碼:


//Adapter_.h
#ifndef _ADAPTER_H
#define _ADAPTER_H
#include <tchar.h>
#include <Windows.h>
#include <stdio.h>
#include <Iphlpapi.h>
#pragma comment(lib,"iphlpapi.lib")
#pragma comment(lib,"ws2_32.lib")
#include <assert.h>
#include <string>
#include <vector>
using?? namespace? std;


typedef int (CALLBACK* DHCPNOTIFYPROC)(LPWSTR, LPWSTR, BOOL, DWORD, DWORD, DWORD, int);

class CAdapter
{
?private:
??class ADAPTER_INFO
??{
????string strName;???// 適配器名稱
????string strDriverDesc;?// 適配器描述
????string strIP;???// IP地址
????string strSubnetMask;??// 子網掩碼
????string strNetGate;??// 網關
????string strDNS;???????? //DNS
????string strMAC;
????::MIB_IFROW?IfRow;??//用于流量,狀態顯示

????BOOL?? RegSetIP();
????BOOL?? ChangeSysSet();
????
???public:
????void?? SetInx(DWORD _dwpIndex) { IfRow.dwIndex? = _dwpIndex; }

????//取得IP信息
????string& GetName(){??return strName;?}
????string& GetDriverDesc(){?return strDriverDesc;?}
????string& GetIP(){?return strIP;?}
????string& GetSubnetMask(){?return strSubnetMask;?}
????string& GetNetGate(){?return strNetGate;?}
????string& GetDNS(){?return strDNS;?}
????string& GetMAC(){?return strMAC;?}
????
????//取得狀態,流量
????DWORD??? GetState(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????/*
?????#define MIB_IF_OPER_STATUS_NON_OPERATIONAL????? 0
?????#define MIB_IF_OPER_STATUS_UNREACHABLE????????? 1
?????#define MIB_IF_OPER_STATUS_DISCONNECTED???????? 2
?????#define MIB_IF_OPER_STATUS_CONNECTING?????????? 3
?????#define MIB_IF_OPER_STATUS_CONNECTED??????????? 4
?????#define MIB_IF_OPER_STATUS_OPERATIONAL????????? 5
?????*/
?????return IfRow.dwOperStatus ;
????}
????
????DWORD??? GetSendBytes(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwOutOctets;
????}
????DWORD??? GetReceiveBytes(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}??
?????return IfRow.dwInOctets;
????}
????DWORD?? GetSpeed(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwSpeed;
????}

????DWORD?? GetOutUcastPkts(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwOutUcastPkts;
????}?
????DWORD?? GetOutNUcastPkts(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwOutNUcastPkts;
????}?
????DWORD?? GetInUcastPkts(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwInUcastPkts;
????}?
????DWORD?? GetInNUcastPkts(){
?????if(GetIfEntry(&IfRow) != NO_ERROR)
?????{
??????return 0;
?????}
?????return IfRow.dwInNUcastPkts;
????}?
????//設置IP信息
????BOOL SetName(string _PstrName? ,BOOL bChange = 0)??{?
?????strName = _PstrName?;
?????if( bChange)
??????return ChangeSysSet();
?????return TRUE;
????}
????BOOL SetDriverDesc(string _PstrDriverDesc,BOOL bChange = 0){??
?????strDriverDesc = _PstrDriverDesc;
?????if( bChange)
??????ChangeSysSet();
?????return TRUE;
????}
????BOOL SetIP(string _PstrIP,BOOL bChange = 0){??
?????strIP = _PstrIP ;
?????if( bChange)
??????ChangeSysSet();
?????return TRUE;
????}
????BOOL SetSubnetMask(string _PstrSubnetMask,BOOL bChange = 0){??
?????strSubnetMask = _PstrSubnetMask;
?????if( bChange)
??????ChangeSysSet();
?????return TRUE;
????}
????BOOL SetNetGate(string _PstrNetGate,BOOL bChange = 0){?
?????strNetGate =?_PstrNetGate;
?????if( bChange)
??????ChangeSysSet();
?????return TRUE;
????}
????BOOL SetDNS(string strSetDNS = ""){
?????if( !strSetDNS.length() )
?????{
??????HKEY hKey;
??????DWORD dwType;
??????char? szReadBuf[64];
??????DWORD cbData = 64;
??????string strKeyName ="SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\";
??????strKeyName += this->strName;
??????if(RegOpenKeyExA(HKEY_LOCAL_MACHINE,strKeyName.c_str(),0,
?????????KEY_READ,&hKey) != ERROR_SUCCESS)
??????{
???????return FALSE;
??????}
??????if( RegQueryValueExA(hKey,"NameServer",0,&dwType,(BYTE*)szReadBuf,&cbData) != ERROR_SUCCESS)
??????{
???????return FALSE;
??????}
??????RegCloseKey(hKey);
??????strDNS = szReadBuf;
?????}
?????else
?????{
??????strDNS = strSetDNS;
??????return ChangeSysSet();
?????}
?????return TRUE;
????}
????void SetMAC(BYTE *Address){?
??????char? buf[6];
??????for(int i= 0;i< 6;i++)
??????{
???????sprintf( buf,"%02x",Address[i]);
???????strMAC += string(buf);
??????}
??????/*
??????sprintf(pAI->mac, "%02X%02X%02X%02X%02X%02X",
???????int (pAdapterInfo->Address[0]),
???????int (pAdapterInfo->Address[1]),
???????int (pAdapterInfo->Address[2]),
???????int (pAdapterInfo->Address[3]),
???????int (pAdapterInfo->Address[4]),
???????int (pAdapterInfo->Address[5]));
??????*/
????}
??};
?vector<ADAPTER_INFO> m_AdapterVec;
?public:
??CAdapter(void);
??~CAdapter(void);

??size_t GetAdapterCount ()
??{
???return m_AdapterVec.size();
??}

??ADAPTER_INFO& operator[](DWORD iInx)
??{
???assert(iInx < m_AdapterVec.size());
???return m_AdapterVec[iInx];
??}
};


#endif


//------------------------------------------
//Adapter_.cpp
#include ".\adapter_.h"


CAdapter::CAdapter(void)
{
?DWORD?ulAdapterInfoSize = sizeof(IP_ADAPTER_INFO);
?IP_ADAPTER_INFO *pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize];
?if( GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_BUFFER_OVERFLOW )?// 緩沖區不夠大
?{
??delete pAdapterInfo;
??pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize];
?}
?if( GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_SUCCESS )
?{
??do {
???if (pAdapterInfo->Type == MIB_IF_TYPE_ETHERNET)
???{
????ADAPTER_INFO *pAI = new ADAPTER_INFO;
????pAI->SetInx(pAdapterInfo->Index);
????pAI->SetName(pAdapterInfo->AdapterName);
????pAI->SetDriverDesc(pAdapterInfo->Description);
????pAI->SetMAC(pAdapterInfo->Address);
????pAI->SetIP(pAdapterInfo->IpAddressList.IpAddress.String);
????pAI->SetNetGate(pAdapterInfo->GatewayList.IpAddress.String);
????pAI->SetSubnetMask(pAdapterInfo->IpAddressList.IpMask.String);
????pAI->SetDNS();
????m_AdapterVec.push_back(*pAI);
???}
???pAdapterInfo = pAdapterInfo->Next;
??} while(pAdapterInfo);
?}
?delete pAdapterInfo;
}

CAdapter::~CAdapter(void)
{
?m_AdapterVec.clear();
}

BOOL CAdapter::ADAPTER_INFO::ChangeSysSet()
{
?//在注冊表中修改信息
?if(!RegSetIP())
?{
??return FALSE;
?}

?HINSTANCE??hDhcpDll;
?DHCPNOTIFYPROC?pDhcpNotifyProc;
?WCHAR wcAdapterName[256];
?MultiByteToWideChar(CP_ACP, 0, this->strName.c_str(), -1, wcAdapterName,256);

?if((hDhcpDll = LoadLibraryA("dhcpcsvc")) == NULL)
?{
??return FALSE;
?}

?if((pDhcpNotifyProc = (DHCPNOTIFYPROC)GetProcAddress(hDhcpDll, "DhcpNotifyConfigChange")) != NULL)
?{
??if((pDhcpNotifyProc)(NULL, wcAdapterName, TRUE,
???0,????//指明第幾個IP地址,如果只有該接口只有一個IP地址則為0
???inet_addr(strIP.c_str()), //
???inet_addr(strSubnetMask.c_str()),
???0????//對DHCP的操作 0:不修改, 1:啟用 DHCP,2:禁用 DHCP
???) != ERROR_SUCCESS)
??{
???FreeLibrary(hDhcpDll);
???return FALSE;
??}
??FreeLibrary(hDhcpDll);
?}
?return TRUE;
}

BOOL CAdapter::ADAPTER_INFO::RegSetIP()
{
?HKEY hKey;
?string strKeyName ="SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\";
?strKeyName += strName;

?if(RegOpenKeyExA(HKEY_LOCAL_MACHINE,
??strKeyName.c_str(),
??0,
??KEY_WRITE,
??&hKey) != ERROR_SUCCESS)
?{
??return FALSE;
?}
?strIP.push_back('\0');
?strSubnetMask.push_back('\0');
?strNetGate.push_back('\0');

?RegSetValueExA(hKey, "IPAddress", 0, REG_MULTI_SZ, (unsigned char*)strIP.data(), (DWORD)strIP.length()+2);
?RegSetValueExA(hKey, "SubnetMask", 0, REG_MULTI_SZ, (unsigned char*)strSubnetMask.data(),(DWORD)strSubnetMask.length()+2 );
?RegSetValueExA(hKey, "DefaultGateway", 0, REG_MULTI_SZ, (unsigned char*)strNetGate.data(), (DWORD)strNetGate.length()+2);
?RegSetValueExA(hKey, "NameServer", 0, REG_SZ, (unsigned char*)strDNS.data(),(DWORD) strDNS.length());
?RegCloseKey(hKey);
?return TRUE;
}

posted on 2006-04-01 09:46 橙子 閱讀(1938) 評論(2)  編輯 收藏 引用 所屬分類: Win32

評論

# re: 網卡類 2006-04-01 21:19 音樂蟲子

DOS批處理的解決方案:

netsh < officeip.dat

// file : officeip.dat
int
ip
set address "Local Area Connection" static 10.0.8.68 255.0.0.0 10.20.30.239 1
show address


  回復  更多評論   

# re: 網卡類 2008-10-27 00:16 0czc0

在vista下有什么好的方法解決?
zcnet4@gmail.com  回復  更多評論   

<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

相冊

收藏夾

搜索

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合给合| 欧美午夜寂寞影院| 亚洲第一久久影院| 亚洲主播在线观看| 亚洲免费一在线| 欧美一区亚洲| 久久精品国产欧美激情| 久久一区中文字幕| 亚洲国产精品黑人久久久| 亚洲电影免费观看高清完整版在线观看 | 国产亚洲综合性久久久影院| 国产精品日韩欧美一区| 国产日韩欧美在线| 一区在线免费| 日韩午夜三级在线| 欧美一级欧美一级在线播放| 欧美亚洲一区二区在线观看| 久久成人精品电影| 亚洲高清不卡一区| 亚洲午夜久久久| 久久在线91| 亚洲成人自拍视频| 一本色道久久| 久久影院午夜论| 国产精品a久久久久久| 国产一区二区三区精品久久久| 亚洲高清视频的网址| 亚洲自拍偷拍麻豆| 欧美高清在线一区二区| 亚洲线精品一区二区三区八戒| 欧美一级成年大片在线观看| 久久精品主播| 国产精品萝li| 99pao成人国产永久免费视频| 欧美在线综合| 99在线|亚洲一区二区| 久久在线91| 国产一区二区三区久久悠悠色av | 亚洲日本中文字幕免费在线不卡| 亚洲网友自拍| 欧美1区免费| 欧美一区二区私人影院日本 | 欧美亚洲免费高清在线观看| 欧美韩日一区二区| 欧美在线视频全部完| 欧美日韩在线视频观看| 亚洲第一中文字幕| 欧美在线视频免费| 日韩视频一区| 欧美精品福利在线| 亚洲欧洲综合| 亚洲高清资源| 免费久久精品视频| 亚洲欧洲一级| 亚洲激情欧美激情| 欧美精品国产一区| 日韩一区二区精品葵司在线| 亚洲高清在线视频| 欧美国产精品v| 日韩系列欧美系列| 亚洲精品久久7777| 欧美区在线播放| 中文一区二区| 亚洲视频免费观看| 国产精品日日摸夜夜添夜夜av| 亚洲欧美日本国产有色| 亚洲午夜一区二区三区| 国产精品亚发布| 久久精品一区| 久久久久久久久久久成人| 国产一区二区视频在线观看| 久久成人亚洲| 久久精品天堂| 久久久久国产一区二区三区| 国模私拍视频一区| 久热精品视频在线| 裸体一区二区三区| 一本不卡影院| 亚洲欧美久久久| 在线观看亚洲视频啊啊啊啊| 美女啪啪无遮挡免费久久网站| 久久久久久综合| 日韩视频一区二区在线观看| 夜夜爽av福利精品导航| 国产美女精品人人做人人爽| 久热re这里精品视频在线6| 欧美成人午夜剧场免费观看| 亚洲一区二区伦理| 久久久999精品视频| 亚洲激情精品| 亚洲先锋成人| 怡红院av一区二区三区| 亚洲人成网站在线观看播放| 国产精品美女久久久久aⅴ国产馆| 久久久久久久久蜜桃| 欧美激情1区| 欧美综合77777色婷婷| 美乳少妇欧美精品| 性色av一区二区三区在线观看| 久久亚洲捆绑美女| 午夜国产精品视频| 玖玖玖免费嫩草在线影院一区| 亚洲一区二区少妇| 久久亚洲精品一区| 久久se精品一区精品二区| 欧美成人日本| 久久久久久久高潮| 欧美日韩国语| 欧美大片免费观看| 国产一区二区三区精品久久久| 日韩亚洲欧美高清| 亚洲激情综合| 久久国产精品久久久| 亚洲一区二区三区高清| 美国十次成人| 久久xxxx| 欧美涩涩视频| 欧美日韩精品免费看 | 亚洲成人自拍视频| 国产一区二区三区久久久| 999亚洲国产精| 亚洲全部视频| 久久久久久久综合狠狠综合| 亚洲欧美另类中文字幕| 欧美激情二区三区| 欧美成人激情视频免费观看| 国产一区再线| 亚洲欧美高清| 香蕉av777xxx色综合一区| 欧美多人爱爱视频网站| 老牛影视一区二区三区| 国产一本一道久久香蕉| 亚洲无人区一区| 亚洲欧美久久| 国产精品视频免费一区| 一区二区高清在线| 亚洲一区二区免费在线| 国产精品www| 亚洲精品一二三区| 欧美日本高清| 美国成人毛片| 影音先锋在线一区| 久久久久久久综合| 欧美顶级大胆免费视频| 亚洲高清在线观看一区| 久久夜精品va视频免费观看| 麻豆九一精品爱看视频在线观看免费| 国内自拍视频一区二区三区| 欧美中文字幕久久| 久久综合网色—综合色88| 伊人久久男人天堂| 蜜桃精品一区二区三区| 亚洲欧洲中文日韩久久av乱码| 亚洲精品在线视频| 欧美日韩亚洲一区二区| 在线视频中文亚洲| 久久狠狠一本精品综合网| 狠狠干成人综合网| 久久综合亚州| 亚洲美女av在线播放| 亚洲欧洲99久久| 影音先锋日韩精品| 欧美猛交免费看| 亚洲自啪免费| 欧美成人免费va影院高清| 日韩一级免费观看| 国产精品免费一区豆花| 久久久久久久久伊人| 91久久国产自产拍夜夜嗨| 亚洲在线免费| 揄拍成人国产精品视频| 欧美三级视频在线| 久久久久久久网| 一本色道久久综合狠狠躁篇怎么玩| 欧美一站二站| 亚洲日本免费| 国产日韩欧美综合| 欧美精品一区三区| 久久99在线观看| 日韩一区二区久久| 欧美.com| 欧美主播一区二区三区| avtt综合网| 在线不卡欧美| 国产精品高潮久久| 欧美777四色影视在线| 亚洲男女自偷自拍图片另类| 欧美激情第10页| 久久国产精品高清| 亚洲视频免费看| 亚洲激情在线视频| 黄色资源网久久资源365| 欧美性一区二区| 欧美 日韩 国产 一区| 午夜精品一区二区三区在线播放| 最近中文字幕日韩精品 | 国产精品vip| 欧美韩日视频| 久久夜色精品国产| 欧美呦呦网站|