// if(result1!=TRUE)
// return -1;
#if 1
CString m_strIp=_T("192.168.1.104");
CString m_strMask=_T("255.255.255.0");;
CString m_strGateWay=_T("192.168.1.1");;
WCHAR Names[50];
DWORD bytes;
WCHAR Name[]=_T("DM9ISA1");
//HANDLE hd=CreateFile(_T("WDG1:"),GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); // WriteFile(hd, pBuffer, dwLen, &dwSize, NULL );
int inVal;
BYTE outBuf[1024];
DWORD bytesReturned;
int nBootMode=1;
/// if(nBootMode == 0)
DWORD len = wcslen(Names);
Names[len] = 0;
Names[len+1] = 0;
CString strKeyName;
strKeyName.Format(_T("Comm\\%s\\Parms\\TCPIP"),Names);
// MessageBox(strKeyName);
//打开注册表对网卡IP信息对应子健进行修改
HKEY hkey;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("Comm\\DM9ISA1\\Parms\\TCPIP"),0,KEY_WRITE,&hkey) != ERROR_SUCCESS)
{
MessageBox(TEXT("打开注册表错误"));
// return false;
}
DWORD value;
value = 0;
WCHAR buffer[50];
//set EnableDHCP
if(RegSetValueEx(hkey,TEXT("EnableDHCP"),0,REG_DWORD,(const unsigned char *)&value,sizeof(DWORD)) != ERROR_SUCCESS)
MessageBox(TEXT("关闭自动获得IP错误"));
//set ip address
memset(buffer,0,100);
memcpy(buffer,m_strIp.GetBuffer(0),m_strIp.GetLength()*2);
if(RegSetValueEx(hkey,TEXT("IpAddress"),0,REG_MULTI_SZ,(const unsigned char *)buffer, m_strIp.GetLength()*2+2) != ERROR_SUCCESS)
MessageBox(TEXT("设置IP错误"));
//set subnet mask
memset(buffer,0,100);
memcpy(buffer,m_strMask.GetBuffer(0),m_strMask.GetLength()*2);
if(RegSetValueEx(hkey,TEXT("SubnetMask"),0,REG_MULTI_SZ,(const unsigned char *)buffer, m_strMask.GetLength()*2+2) != ERROR_SUCCESS)
MessageBox(TEXT("设置子网掩码错误"));
//set gateway
memset(buffer,0,100);
memcpy(buffer,m_strGateWay.GetBuffer(0),m_strGateWay.GetLength()*2);
if(RegSetValueEx(hkey,TEXT("DefaultGateway"),0,REG_MULTI_SZ,(const unsigned char *)buffer, m_strGateWay.GetLength()*2+2) != ERROR_SUCCESS)
MessageBox(TEXT("设置网关错误"));
RegFlushKey(hkey);
RegCloseKey(hkey);
// CloseHandle( hNdis );
//SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE);
//SetSystemPowerState(NULL, POWER_STATE_ON, POWER_FORCE);
// return true;
// TODO: 在此添加控件通知处理程序代码
#endif
HANDLE hNdisPwr;
TCHAR multiSz[257];
DWORD cbBuffer = sizeof(multiSz);
StringCchCopy(multiSz, (cbBuffer / sizeof(TCHAR))-2, _T("DM9ISA1"));
hNdisPwr = CreateFile(
_T("NDS0:"), // Object name.
0x00, // Desired access.
0x00, // Share Mode.
NULL, // Security Attr
OPEN_EXISTING, // Creation Disposition.
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, // Flag and Attributes..
(HANDLE)INVALID_HANDLE_VALUE);
multiSz[::_tcslen(multiSz)+1] = _T('\0'); // Multi sz needs an extra null
BOOL result1=DeviceIoControl(hNdisPwr,
IOCTL_NDIS_UNBIND_ADAPTER,
multiSz,
(_tcslen(multiSz)+2) * sizeof(TCHAR),
NULL, 0, NULL, NULL );
result1=DeviceIoControl(hNdisPwr,
IOCTL_NDIS_BIND_ADAPTER,
multiSz,
(_tcslen(multiSz)+2) * sizeof(TCHAR),
NULL, 0, NULL, NULL );