天天看點

RAS撥号SDK程式注意點

在定義HRASCONN hRasConn時必須将他初始化為NULL,不然就會有668錯誤

詳細代碼 

RAS撥号SDK程式注意點

#include  < Windows.h >

RAS撥号SDK程式注意點

#include  < WindowsX.h >

RAS撥号SDK程式注意點

#include  " CmnHdr.h "

RAS撥号SDK程式注意點

#include  " resource.h "

RAS撥号SDK程式注意點

#include  < tchar.h >

RAS撥号SDK程式注意點

#include  < RASERROR.H >

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

#include  " ras.h "

RAS撥号SDK程式注意點

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

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

//

RAS撥号SDK程式注意點

void  Dial(HWND hwnd ,TCHAR szEntryName[])

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

... {

RAS撥号SDK程式注意點

    HRASCONN hRasConn=0;//這個沒有初始化就會失敗!!!!!!!

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    RASDIALPARAMS RasDialParams;  //用來指定電話本項目名

RAS撥号SDK程式注意點

    RasDialParams.dwSize = sizeof(RASDIALPARAMS);

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szEntryName, szEntryName);//連接配接名稱 寬帶連接配接 

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szPhoneNumber, _T(""));

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szCallbackNumber, _T(""));

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szUserName, "jxk***");

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szPassword, "***");

RAS撥号SDK程式注意點

    _tcscpy(RasDialParams.szDomain, _T(""));

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    DWORD dwRet=0;

RAS撥号SDK程式注意點

    dwRet= RasDial(NULL, NULL, &RasDialParams, 0xFFFFFFFF,NULL, &hRasConn); //668

RAS撥号SDK程式注意點

    if(dwRet !=0)

RAS撥号SDK程式注意點

        chMB("Fail!");

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

}

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

//

RAS撥号SDK程式注意點

void  Main_OnCommand(HWND hwnd,  int  id, HWND hwndCtl, UINT codeNotify) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

... {

RAS撥号SDK程式注意點

    switch (id) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    ...{

RAS撥号SDK程式注意點

    case IDCANCEL:

RAS撥号SDK程式注意點

        EndDialog(hwnd, id);

RAS撥号SDK程式注意點

        break;

RAS撥号SDK程式注意點

    }

RAS撥号SDK程式注意點

}

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

//

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

... {

RAS撥号SDK程式注意點

    DWORD dwRet,dwSize,dwEntries;

RAS撥号SDK程式注意點

    LPBYTE lpBuffer;

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    LPRASENTRYNAME lpRasEntryName = new RASENTRYNAME;

RAS撥号SDK程式注意點

    lpRasEntryName->dwSize = sizeof(RASENTRYNAME);

RAS撥号SDK程式注意點

    dwSize = sizeof(RASENTRYNAME);

RAS撥号SDK程式注意點

    dwRet = RasEnumEntries(NULL, NULL, lpRasEntryName, &dwSize, &dwEntries);

RAS撥号SDK程式注意點

    delete lpRasEntryName;

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    lpBuffer = new BYTE[dwSize];

RAS撥号SDK程式注意點

    lpRasEntryName = (LPRASENTRYNAME)lpBuffer;

RAS撥号SDK程式注意點

    lpRasEntryName->dwSize = sizeof(RASENTRYNAME);

RAS撥号SDK程式注意點

    dwRet = RasEnumEntries(NULL, NULL, lpRasEntryName, &dwSize, &dwEntries);

RAS撥号SDK程式注意點

    //比較連接配接名

RAS撥号SDK程式注意點

    for(DWORD i =0;i<dwEntries;lpRasEntryName++,i++)

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    ...{

RAS撥号SDK程式注意點

        if(0==lstrcmp(lpRasEntryName->szEntryName,"寬帶連接配接"))

RAS撥号SDK程式注意點

            Dial(hwnd,lpRasEntryName->szEntryName);

RAS撥号SDK程式注意點

    }

RAS撥号SDK程式注意點

    delete [] lpBuffer;

RAS撥号SDK程式注意點

    return(TRUE);

RAS撥号SDK程式注意點

}

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

//

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

INT_PTR WINAPI Main_Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

... {

RAS撥号SDK程式注意點

    switch (uMsg) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

    ...{

RAS撥号SDK程式注意點

        chHANDLE_DLGMSG(hDlg, WM_INITDIALOG, Main_OnInitDialog);

RAS撥号SDK程式注意點

        chHANDLE_DLGMSG(hDlg, WM_COMMAND,    Main_OnCommand);

RAS撥号SDK程式注意點

    }

RAS撥号SDK程式注意點

    return(FALSE);

RAS撥号SDK程式注意點

}

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

//

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

int  WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine,  int ) 

RAS撥号SDK程式注意點
RAS撥号SDK程式注意點

... {    

RAS撥号SDK程式注意點

    DialogBox(hinstExe, MAKEINTRESOURCE(IDD_DIAL), NULL, Main_Proc);

RAS撥号SDK程式注意點

    return(0);

RAS撥号SDK程式注意點

}

RAS撥号SDK程式注意點