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

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;??//用于流量,狀態(tài)顯示

????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;?}
????
????//取得狀態(tài),流量
????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 )?// 緩沖區(qū)不夠大
?{
??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  回復  更多評論   

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統(tǒng)計

常用鏈接

留言簿(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>
            久久精品成人一区二区三区 | 影音欧美亚洲| 久久se精品一区二区| 亚洲国产精品一区二区第一页| 欧美成人精品影院| 欧美一区二区私人影院日本| 久久精品一区二区三区四区 | 亚洲天堂偷拍| 亚洲欧美国产视频| 亚洲欧美在线另类| 久久亚洲欧美| 欧美日韩国产一区二区三区地区| 欧美丝袜一区二区三区| 国产视频亚洲精品| 欧美国产精品v| 欧美精品国产一区二区| 国产精品swag| 亚洲欧洲日本mm| 欧美在线啊v一区| 亚洲福利视频网| 一区二区三区色| 欧美黄色成人网| 激情六月婷婷久久| 在线综合亚洲欧美在线视频| 久久久99国产精品免费| 日韩视频精品在线| 欧美成人激情视频| 亚洲激情社区| 免费精品视频| 裸体素人女欧美日韩| 国产在线精品一区二区夜色| 亚洲综合999| 亚洲麻豆国产自偷在线| 欧美国产成人精品| 日韩一级在线观看| 夜夜爽www精品| 国产精品亚洲不卡a| 欧美伊人影院| 久久婷婷丁香| 99国产精品国产精品毛片| 日韩亚洲在线| 国产日韩精品综合网站| 蜜臀av一级做a爰片久久| 午夜欧美精品久久久久久久| 久久精品国产久精国产爱| 欧美成人精品在线观看| 欧美专区一区二区三区| 国产精品乱人伦中文| 亚洲人成在线观看网站高清| 欧美大成色www永久网站婷| 一区二区国产日产| 欧美日韩免费高清一区色橹橹| 99re这里只有精品6| 宅男精品视频| 激情av一区| 最新中文字幕亚洲| 国产精品美女久久福利网站| 午夜在线精品偷拍| 亚洲高清在线播放| 夜夜狂射影院欧美极品| 亚洲伦伦在线| 欧美激情中文不卡| 女女同性女同一区二区三区91| 国产精品伦一区| 99精品国产高清一区二区| 日韩天堂在线视频| 免费一级欧美片在线观看| 久久国产色av| 国产欧美日韩精品a在线观看| 亚洲精品免费一二三区| 亚洲高清毛片| 欧美大色视频| 一区二区精品| 亚洲一区二区日本| 国产精品高潮呻吟久久| 亚洲欧美清纯在线制服| 欧美激情久久久久| 欧美一区二区三区在| 国产亚洲欧美激情| 亚洲欧美美女| 亚洲三级网站| 国产亚洲福利| 亚洲人成人一区二区三区| 国产精品系列在线| 在线观看精品一区| 亚洲欧美三级伦理| 欧美激情在线有限公司| 欧美在线视频二区| 亚洲影院在线| 在线一区二区三区四区| 亚洲欧洲在线看| 亚洲精品在线免费| 制服诱惑一区二区| 亚洲一区视频| 欧美三级视频在线| 久久综合网络一区二区| 国产午夜精品美女毛片视频| 亚洲人成人99网站| 国产亚洲一本大道中文在线| 久久一综合视频| 久久久一本精品99久久精品66| 极品尤物一区二区三区| 一区二区日韩| 国产婷婷色一区二区三区| 一区二区三区国产精华| 亚洲午夜国产一区99re久久| 久久精品国产99国产精品澳门| 午夜精品短视频| 国产精品女同互慰在线看| 久久露脸国产精品| 亚洲午夜羞羞片| 亚洲精品乱码久久久久久蜜桃麻豆 | av成人国产| 洋洋av久久久久久久一区| 在线观看成人网| 一区二区三区www| 亚洲免费av观看| 国模吧视频一区| 亚洲一区二区3| 欧美电影资源| 一区二区三区产品免费精品久久75| 国外成人在线视频网站| 亚洲国产精品尤物yw在线观看 | 亚洲午夜电影在线观看| 香蕉久久夜色精品| 欧美精品免费播放| 尤物yw午夜国产精品视频明星| 在线亚洲免费视频| 加勒比av一区二区| 欧美激情一区二区三级高清视频| 久久蜜桃精品| 久久综合免费视频影院| 久久综合久久久久88| 久久夜色精品| 91久久夜色精品国产九色| 亚洲视频专区在线| 亚洲图片欧洲图片av| 亚洲人成小说网站色在线| 狠狠综合久久| 欧美日韩中文在线观看| 亚洲一本大道在线| 久久亚洲一区二区三区四区| 99精品免费| 国内精品视频666| 欧美亚洲在线| 欧美成人精品三级在线观看| 欧美一区激情| 99这里只有久久精品视频| 国产伦精品一区二区三区视频黑人| 欧美国产日韩二区| 久久综合一区二区三区| 亚洲欧美一区二区视频| 亚洲精品一线二线三线无人区| 欧美在线视频免费观看| 欧美二区在线播放| 亚洲欧美春色| 国产欧美日韩不卡免费| 欧美在线免费观看亚洲| 亚洲视频在线观看三级| 欧美色欧美亚洲另类七区| 亚洲愉拍自拍另类高清精品| 99精品国产在热久久| 国产精品v欧美精品v日韩 | 久久精品国产精品亚洲| 欧美一级久久久| 国内精品伊人久久久久av一坑| 久久er99精品| 美女视频黄 久久| 一区二区三区www| 欧美成人三级在线| 夜夜爽99久久国产综合精品女不卡| 在线观看亚洲视频啊啊啊啊| 日韩午夜电影| 制服诱惑一区二区| 免费观看亚洲视频大全| 亚洲麻豆视频| 亚洲午夜视频在线| 久久综合狠狠| 国产精品高潮呻吟视频| 国产精品伦一区| 亚洲国产精品传媒在线观看| 欧美在线网站| 久久国产精品黑丝| 午夜久久资源| 国产亚洲精品久久久久动| 午夜精品久久久久| 亚洲欧美日韩国产精品| 一区二区三区 在线观看视频| 午夜亚洲影视| 欧美一区二区日韩一区二区| 国产精品亚洲不卡a| 久久精品久久综合| 欧美一区二区三区四区在线| 国产精品久久久久久久9999| 亚洲欧美成人| 欧美不卡在线视频| 亚洲激情网址| 欧美影院视频| 欧美午夜美女看片| 亚洲一区二三|