其实我建议你使用另外一种方式拨号
WinExec("rasdial ADSL(entryname) 201*****(username) *****(password)",SW_HIDE);
断开链接
WinExec("rasdial ADSL(entryname) /DISCONNECT",SW_HIDE);一样的效果,省很多心。
并且,相关的帮助在cmd.exe里面输入:
rasdial /help
就知道了
WinExec("rasdial ADSL(entryname) 201*****(username) *****(password)",SW_HIDE);
断开链接
WinExec("rasdial ADSL(entryname) /DISCONNECT",SW_HIDE);一样的效果,省很多心。
并且,相关的帮助在cmd.exe里面输入:
rasdial /help
就知道了
rdParams.dwSize = sizeof(RASDIALPARAMS);
strcpy(rdParams.szEntryName, "拨号连接");
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;
2楼的写的跟没写一样
这个问题我已经解决了DwNotifierType参数决定后面的参数是窗口句柄接收消息还是使用回调函数
可以选择4种取值:
0XFFFFFFFF
1
2
3
dwNotifier参数为空的话则是同步通信,忽略前面的参数,即函数处理完毕后才返回消息,这个消息比如“用户名密码错误”之类,若不为空,则是异步通信,返回的消息比如“打开端口”“打开设备”之类的,有四种方式:
接收窗口的句柄
RasDialFunc
RasDialFunc1
RasDialFunc2现在有新的问题了。我想把两种消息集合到一起
也就是说同步和异步的消息都得到 比如打开设备 同步
打开端口 同步
验证用户名和密码 同步
用户名和密码无效 异步
呵呵~