#include
#include
#pragma comment(lib, "Rasapi32.lib")
//#include "Resource.h"
HRASCONN hrasconn = NULL; //存放活动连接句柄, 用于断开连接
//BOOL WINAPI DlgProc(HWND,UINT,WPARAM,LPARAM);
//BOOL RasEnum(HWND hwnd);
//BOOL RasCreate();
//BOOL RasConnect(char *userName, char *passWord, char *error, char *strIP);
//HRASCONN RasConnecting();
//BOOL RasClose(HRASCONN hrasconn);
//-----枚举活动的连接-----
HRASCONN RasConnecting()
{
RASCONN rc[10];
DWORD dwSize;
DWORD dwNumber = 0;
rc[0].dwSize=sizeof(RASCONN);
dwSize =sizeof(rc);
DWORD dwRet;
dwRet = RasEnumConnections(rc, &dwSize, &dwNumber); //枚举已连接的网络
if(dwRet == 0)
{
for(UINT i=0; i<dwNumber; i++)
if(strcmp(rc[i].szEntryName, "宽带连接") == 0)
{
return rc[i].hrasconn; //返回"我的连接"对应的句柄
}
}
return NULL;
}
//-----断开连接-----
BOOL RasClose(HRASCONN hrasconn)
{
if(RasHangUp(hrasconn) == 0) //断开成功
return TRUE;
else
return FALSE;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow)
{
if((hrasconn=RasConnecting()) != NULL) //如果是已经连接
{
if(RasClose(hrasconn) == TRUE)
{
MessageBox(NULL,"error","断开连接",0);
}
}
static HRASCONN hRasConn2=NULL;
// 重新拨号
if(hRasConn2)
{
RasHangUp(hRasConn2);
hRasConn2 =NULL;
MessageBox(NULL,"error","断开连接22222",0);
}
RASDIALPARAMS rdParams;
DWORD dwRet;
BOOL f_get_password;
memset(&rdParams, 0, sizeof(rdParams));
rdParams.dwSize=sizeof(RASDIALPARAMS);
strcpy(rdParams.szEntryName,"宽带连接");
if(RasGetEntryDialParams(NULL, &rdParams, &f_get_password) !=0)
{
MessageBox(NULL,"error","Dial Failed, get entry adsl failed",0);
return -1;
}
if(f_get_password ==false)
{
MessageBox(NULL,"error","Dial Failed: get password failed",0);
return -1;
}
if((dwRet=RasDial(NULL,NULL,&rdParams,0L, NULL, &hRasConn2)) !=0)
{
MessageBox(NULL,"error","Dial Failed",0);
return -1;
}
return 1;