Ras撥號程式編寫

2021-07-01 22:19:54 字數 3415 閱讀 1336

#include #include #include #include #include #pragma comment (lib,"rasapi32.lib")

#define entry text("寬頻連線123")

#define user text("adsl_user")

#define password text("123456")

//建立pppoe寬頻連線

bool createpppoeconnection(lpctstr lpszentry);

//設定撥號資訊

void setuserinfo(lpctstr lpszentry, lpctstr lpszusername, lpctstr lpszpassword);

//連線寬頻連線

uint rasconnect(lpctstr lpszentry, lpctstr lpszusername, lpctstr lpszpassword);

//呼叫已經建立的寬頻連線撥號

bool rasconnect2(tchar sztext,tchar szuser,tchar szpasswd);

int main(void)

rasconnect2(text("寬頻連線"),text("059205587400"),text("044998"));

return 0;

}//建立pppoe寬頻連線

bool createpppoeconnection( lpctstr lpszentry )

; //列舉裝置

rasdevinfo *pdevinfo = new rasdevinfo[10];

dword cb=10*sizeof(rasdevinfo);

dword num_devices=0;

dword i=0;

pdevinfo[0].dwsize = sizeof(rasdevinfo);

dword ret = rasenumdevices(pdevinfo, &cb, &num_devices);

if(ret != 0 || num_devices < 1)

for(i=0;i < num_devices;i++)

if(i >= num_devices)

//填充rasentry介面

rasentry lprasentry;

memset(&lprasentry, 0, sizeof(rasentry));

lprasentry.dwsize = sizeof(rasentry);

lprasentry.dwfoptions =raseo_remotedefaultgateway | raseo_modemlights | raseo_ipheadercompression | raseo_swcompression | raseo_networklogon;

lprasentry.dwfoptions =raseo_specificnameservers | raseo_remotedefaultgateway |raseo_previewuserpw;

lprasentry.dwfnetprotocols = rasnp_ip; //tcpip協議

lprasentry.dwframingprotocol = rasfp_ppp; //ppp方式

_tcscpy(lprasentry.szdevicetype, pdevinfo[i].szdevicetype);

_tcscpy(lprasentry.szdevicename, pdevinfo[i].szdevicename);

_tcscpy(lprasentry.szlocalphonenumber,text(""));

ret = rassetentryproperties(null,lpszentry,&lprasentry,sizeof(rasentry),null,0);

delete pdevinfo;

if(ret != 0)

return true;

/* raseo_previewuserpw //顯示使用者名稱和密碼對話方塊

raseo_specificipaddr //指定ip位址撥號

*/}//設定撥號資訊

void setuserinfo( lpctstr lpszentry, lpctstr lpszusername, lpctstr lpszpassword )

//連線寬頻連線

uint rasconnect( lpctstr lpszentry, lpctstr lpszusername, lpctstr lpszpassword )

; _sntprintf_s(szerroinfo,arraysize(szerroinfo),text("%d連線錯誤!\n"),dwret);

tchar szbuf[256] =;

rasgeterrorstring((uint)dwret,szbuf, arraysize(szbuf));

_tcscat(szerroinfo,szbuf);

messagebox(null, szerroinfo, text("寬頻連線"),mb_ok);

assert(false);

return false;

} return true;

}bool rasconnect2( tchar sztext,tchar szuser,tchar szpasswd)

; // 總是設定dwsize 為rasdialparams結構的大小

rasdialparams.dwsize = sizeof(rasdialparams);

hrasconn hrasconn = null;

lstrcpy(rasdialparams.szentryname, sztext);

lstrcpy(rasdialparams.szusername, szuser);

lstrcpy(rasdialparams.szpassword, szpasswd);

// 同步方式呼叫rasdial(第五個引數為null)

dword ret = rasdial(null, null, &rasdialparams, 0, null, &hrasconn);

if (ret != 0)

// 獲取連線狀態

rasconnstatus rasstatus;

rasstatus.dwsize = sizeof (rasconnstatus);

dword dwreturn = rasgetconnectstatus (hrasconn, &rasstatus);

if (dwreturn)

else if (dwreturn==0)

//斷開連線

//rashangup(hrasconn);

return true;

}

用VC 6 0編寫撥號程式

用vc 6.0編寫撥號程式 mthon 17 八月,2007 10 05 用vc 6.0編寫撥號程式 撥號上網是編寫網路應用軟體常用的操作,程式在執行某些遠端網上操作前,需要先撥號與網路連線,完成操作後由必須收線斷開。在windows 95 98的 撥號網路 中,雖然提供撥號功能,但無法直接讓自己開...

windows ce gprs 撥號程式

include stdafx.h include ras.h handle hport invalid handle value hrasconn hrasconn null bool createport open the serial port hport createfile text com...

撥號上網程式

一般使用者的撥號上網,利用的是windows的remote access service ras,遠端訪問服務 下面介紹一下其在visual c 下的實現。visual c 為我們提供了包含ras api宣告的 ras.h 標頭檔案。要在程式中實現撥號 上網功能,其大致過程如下 1.利用modem撥...