网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月09日漏签0天
c++吧 关注:613,771贴子:2,110,451
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 4回复贴,共1页
<<返回c++吧
>0< 加载中...

IPConfiger 1.0 源代码

  • 取消只看楼主
  • 收藏

  • 回复
  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
程序名称:IPConfiger 1.0 
运行平台:XP SP2(Vista好像不支持) 
程序功能:增加,删除,修改IP,动态修改IP(不用重新启动). 
程序截图: 


  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
因为是MFC,所以发出来的代码很乱,要程序代码就可以留下你的信箱,我发给你.

更多源代码:http://hi.baidu.com/sys/checkuser/CIW%5FBLUE/3

代码如下:

#include "stdafx.h"
#include "IPModify.h"
#include "IPModifyDlg.h"
#include "AddIP.h"
#include "ModifyIP.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

const int MAX_CLASSNAME_LENGHT = 20;
const int MAX_IP_FIELD_NUM = 5;
void ReadIPInfo();
void SetIPInfoToIPList(CListCtrl* pList, stIPInfo& stIPInfo);


vector<stIPInfo> cIPInfoVec;

void SetIPInfoToIPList(CListCtrl* pList, stIPInfo& stIPInfo);
CListCtrl *pIPList = NULL;

void SwapDWORD(DWORD pValue[], int n)
{
for(int i = 0; i < n; i++)
{
DWORD dwTemp = 0;
unsigned char *pIP = (unsigned char*)&pValue[i], *pTemp = (unsigned char*)&dwTemp;
*(pTemp) = *(pIP + 3);
*(pTemp + 1) = *(pIP + 2);
*(pTemp + 2) = *(pIP + 1);
*(pTemp + 3) = *(pIP );
pValue[i] = dwTemp;
}
}

void ReadIPInfo()
{
CloseHandle(CreateFile("IpInfo.CIW", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_NEW, NULL, NULL));

CFile cInFile("IpInfo.CIW", CFile::modeRead);
stIPInfo stIPInfo1;

while(1)
{
memset((char*)&stIPInfo1, 0, sizeof(stIPInfo));
cInFile.Read((char*)&stIPInfo1, sizeof(stIPInfo));
if( strcmp(stIPInfo1.szClassName, "") == 0 )
break;
cIPInfoVec.push_back(stIPInfo1);
SetIPInfoToIPList(pIPList, stIPInfo1);
}
cInFile.Close();
}

void WriteIPInfo()
{
DeleteFile("IpInfo.CIW");
ofstream cOutFile("IpInfo.CIW");

for(vector<stIPInfo>::iterator iter = cIPInfoVec.begin(); iter != cIPInfoVec.end();
iter++ )
{
cOutFile.write((char*)iter, sizeof(stIPInfo));
}

cOutFile.close();
}

void IPToString(DWORD dwIP, char *szIP)
{
unsigned char *pIP = (unsigned char*)&dwIP;
sprintf(szIP, "%u.%u.%u.%u", *pIP, *(pIP + 1), *(pIP + 2), *(pIP + 3) );
}


义乌市迪丰网络科技
c++,一键修复电脑软件和游戏缺失DLL、DirectX导致的崩溃、卡顿、故障等问题
2025-05-09 01:30广告
立即查看
广告
立即查看
  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
百度的发帖已经让我失望了,要代码到我空间吧.
http://hi.baidu.com/ciw%5Fblue/blog/item/68e76755140f0bc2b745ae90.html


  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void ModifyLastIPField(char* pIP, int n)
{
int nLen = strlen(pIP), nDotNum = 0;
for(int i = 0; i < nLen; i++)
{
if( pIP[i] == '.' )
{
nDotNum++;
if( nDotNum == 3 )
break;
}
}

pIP[i + 1] = 0;
char szIP[20];
itoa(n, szIP, 10);
strcat(pIP, szIP);
}
void CIPModifyDlg::OnModifyIp() 
{
DWORD dwIP[2];
m_cIPAddress1.GetAddress(dwIP[0]);
m_cIPAddress2.GetAddress(dwIP[1]);
SwapDWORD(dwIP, 2);

in_addr stIPAddr1, stIPAddr2;
stIPAddr1.S_un.S_addr = dwIP[0];
stIPAddr2.S_un.S_addr = dwIP[1];
char p1[100], p2[100];
strcpy(p1, inet_ntoa(stIPAddr1) );
strcpy(p2, inet_ntoa(stIPAddr2) );

int n = 1;
int nIsModify = false;
while( n < 255 && !(nIsModify =IPChange(szAdapterName[0], 0, p1, p2)))
{
MessageBox(p1);
ModifyLastIPField(p1, n);
n++;
}
if( nIsModify )
{
DWORD dwIP;
dwIP = inet_addr(p1);
SwapDWORD(&dwIP, 1);
m_cIPAddress1.SetAddress(dwIP);
SetRegIP(0);

MessageBox("IP切换成功.", "成功提示", MB_OK);

HKEY hKey;
char szKeyName[512] = {0}; 
strcpy(szKeyName, "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\");
strcat(szKeyName, szAdapterName[0]);
if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKeyName, NULL, KEY_WRITE, &hKey) == ERROR_SUCCESS )
{
DWORD dwValue = 0;
RegSetValueEx(hKey, "EnableDHCP", NULL, REG_DWORD, (const unsigned char *)&dwValue, 4);
}
}
else
{
MessageBox("网络没有连接或者一个IP设置实例正在运行.", "错误提示", MB_ICONERROR);
}
}


  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void ModifyLastIPField(char* pIP, int n)
{
int nLen = strlen(pIP), nDotNum = 0;
for(int i = 0; i < nLen; i++)
{
if( pIP[i] == '.' )
{
nDotNum++;
if( nDotNum == 3 )
break;
}
}

pIP[i + 1] = 0;
char szIP[20];
itoa(n, szIP, 10);
strcat(pIP, szIP);
}
void CIPModifyDlg::OnModifyIp() 
{
DWORD dwIP[2];
m_cIPAddress1.GetAddress(dwIP[0]);
m_cIPAddress2.GetAddress(dwIP[1]);
SwapDWORD(dwIP, 2);

in_addr stIPAddr1, stIPAddr2;
stIPAddr1.S_un.S_addr = dwIP[0];
stIPAddr2.S_un.S_addr = dwIP[1];
char p1[100], p2[100];
strcpy(p1, inet_ntoa(stIPAddr1) );
strcpy(p2, inet_ntoa(stIPAddr2) );

int n = 1;
int nIsModify = false;
while( n < 255 && !(nIsModify =IPChange(szAdapterName[0], 0, p1, p2)))
{
MessageBox(p1);
ModifyLastIPField(p1, n);
n++;
}
if( nIsModify )
{
DWORD dwIP;
dwIP = inet_addr(p1);
SwapDWORD(&dwIP, 1);
m_cIPAddress1.SetAddress(dwIP);
SetRegIP(0);

MessageBox("IP切换成功.", "成功提示", MB_OK);

HKEY hKey;
char szKeyName[512] = {0}; 
strcpy(szKeyName, "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\");
strcat(szKeyName, szAdapterName[0]);
if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKeyName, NULL, KEY_WRITE, &hKey) == ERROR_SUCCESS )
{
DWORD dwValue = 0;
RegSetValueEx(hKey, "EnableDHCP", NULL, REG_DWORD, (const unsigned char *)&dwValue, 4);
}
}
else
{
MessageBox("网络没有连接或者一个IP设置实例正在运行.", "错误提示", MB_ICONERROR);
}
}

void CIPModifyDlg::GetAdapterName()
{
HKEY hKey = 0, hSubKey1 = 0, hSubKey2 = 0;
char *pszSubKey = "System\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}";
RegOpenKeyEx(HKEY_LOCAL_MACHINE, pszSubKey, NULL, KEY_READ, &hKey); 

char szKeyName[256];
DWORD dwIndex = 0;
DWORD dwKeySize = 256; 
DWORD dwDataType = 0, dwTemp = 0;
unsigned char szData[512];
int nIndex = 0;
while( RegEnumKeyEx(hKey, dwIndex++, szKeyName, &dwKeySize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS )
{

if( RegOpenKeyEx(hKey, szKeyName, NULL, KEY_READ, &hSubKey1) == ERROR_SUCCESS )
{

if( RegOpenKeyEx(hSubKey1, "Ndi\\Interfaces", NULL, KEY_READ, &hSubKey2) == ERROR_SUCCESS )
{
if( hSubKey2 )
{
dwTemp = 512;
if( RegQueryValueEx(hSubKey2, "LowerRange", NULL, &dwDataType, szData, &dwTemp) == ERROR_SUCCESS )
{
if( strcmp((char*)szData, "ethernet") == 0 )
{
dwTemp = 512;
RegQueryValueEx(hSubKey1, "DriverDesc", NULL, &dwDataType, szData, &dwTemp);

strcpy(szAdapterRealName[nIndex], (char*)szData); //配置器的名称

dwTemp = 512;
RegQueryValueEx(hSubKey1, "NetCfgInstanceId", NULL, &dwDataType, szData, &dwTemp);

strcpy(szAdapterName[nIndex], (char*)szData); //配置器的名称(代号)
nIndex++;
}
}

dwTemp = 512;

RegCloseKey(hSubKey2);
}

RegCloseKey(hSubKey1);
}


}

dwKeySize = 256;
}
RegCloseKey(hKey);

nAdapterNumber = nIndex;
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示