برنامه ای ساده که یوزر و پسورد و شماره تلفن بگیره و خودش شروع کنه به اینترنت وصل بشه. اول که باید یه پروژه جدید بسازید و ۳ تا edit box برای اطلاعات یوزر و پسورد و شماره تلفن.
اولین کاری که باید کنید اینه که ۱-۲ کلاس رو به پروژه اضافه کنید که با ۲خط زیر انجام میدید:
کد:#include "ras.h" #include "raserror.h"
حالا ۲ تا دکمه بگذارید برای وصل شدن و قطع ارتباط.برای وصل شدن از چند خط ساده زیر استفاده کنید که هر خط رو جداگانه توضیح میدم:
متغییری(شئی) است برای دادن اطلاعات مورد نیاز برای کانکت به اینترنتکد:RASDIALPARAMS rdParams;//
/در این قسمت شماره تلفن را مقدار دهی میکنیمکد:rdParams.dwSize = sizeof(RASDIALPARAMS); rdParams.szEntryName[0] = ''0''; lstrcpy( rdParams.szPhoneNumber, m_strPhoneNumber );
کد:rdParams.szCallbackNumber[0] = ''0''; lstrcpy( rdParams.szUserName, m_strUserName );//
در این قسمت یوزررا مقدار دهی میکنیم
در این قسمت پسورد را مقدار دهی میکنیمکد:lstrcpy( rdParams.szPassword, m_strPassword );//
کد:rdParams.szDomain[0] = ''0'';
کد:HRASCONN hRasConn = NULL;//
این متغییر برای نسبت دادن یک هندل به این کانکشن در صورت موفقیت خوهد بود که بتوان در آینده از آن استفاده کرد مثلا آنرا قطع کرد
کد:DWORD dwRet = RasDial( NULL, NULL, &rdParams, 0L, NULL, &hRasConn );//
در این قسمت شروع به شماره گیری میکند و نتیجه شماره گیری بازگردانده می شود که در صورت موفقیت صفر و در غیر این صورت شماره خطلا خواهد بود
اگر منجر به خطا شد با استفاده از شماره خطا متن خطا را بدست آمرده نمایش می دهیم و کانکشن را می بندیمکد:if ( dwRet == 0 ) return true; char szBuf[256]; if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )//
کد:wsprintf( (LPSTR)szBuf, "Undefined RAS Dial Error (%ld).", dwRet ); RasHangUp( hRasConn ); MessageBox( (LPSTR)szBuf, "Error", MB_OK | MB_ICONSTOP ); return false;تا ایجا نحوه خیلی ساده اتصال رو دیدیم. حالا باید در صورت نیاز امکان قطع کردن رو هم فراهم کنیم که اونم به سادگی کد زیر هستش:کد:RASCONN ras[20]; DWORD dSize, dNumber; char szBuf[256]; connected=false; ras[0].dwSize = sizeof( RASCONN ); dSize = sizeof( ras ); // Get active RAS - Connection DWORD dwRet = RasEnumConnections( ras, &dSize, &dNumber ); if ( dwRet != 0 ) { if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 ) wsprintf( (LPSTR)szBuf, "Undefined RAS Enum Connections error (%ld).", dwRet ); MessageBox( (LPSTR)szBuf, "RasHangUp", MB_OK | MB_ICONSTOP ); return false; } bool bOK = true; for( DWORD dCount = 0; dCount < dNumber; dCount++ ) { // Hang up that connection HRASCONN hRasConn = ras[dCount].hrasconn; DWORD dwRet = RasHangUp( hRasConn ); if ( dwRet != 0 ) { char szBuf[256]; if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 ) wsprintf( (LPSTR)szBuf, "Undefined RAS HangUp Error (%ld).", dwRet ); MessageBox( (LPSTR)szBuf, "RasHangUp", MB_OK | MB_ICONSTOP ); bOK = false; } } return bOK;با این ۲ تابع ساده میتونید به اینترنت متصل شید. اما نکاتی که هست اینه که :اولا اصلا کانکشن ویندوزی ساخته نمیشه.دوماً اینکه ایکون اتصال هم نمایش داده نمیشه و دست شمارو باز میگذاره که هرجور دوست دارید اعمال سلیقه کنید.








پاسخ با نقل قول




