各位:
请问用PB怎样写Modem拨号程序,有没有拨号的OLe控件啊?
不需要拨号的OLe控件;
作如下声明:
/* External RAS API function prototypes. */
Function ULONG RasDialA( string dialextentsion, string phonebook, ref os_rasdialparms rdp, ulong notifier, int hwnd, ref ulong hConn) LIBRARY "RASAPI32.DLL"
Function ulong RasGetConnectStatusA( ulong hConn, ref os_rasstatus rs ) LIBRARY "RASAPI32.DLL"
Function ulong RasHangUpA( ulong hConn ) Library "RASAPI32.DLL"
Function UINT RegisterWindowMessageA( string lpsz ) LIBRARY "USER32.DLL"
其中结构参数请查阅——MSDN
拨号
ll_Ret = RasDialA( ls_Null, ls_Null, lstr_RDP, ll_Notifier, ai_hWnd, il_RasCon )
IF ll_Ret = 0 THEN
lstr_RCS.uSize = 60
DO while true
li_OK = RASGetConnectStatusA( il_Rascon, lstr_RCS )
Yield()
if li_OK<>0 then exit;
choose case f_getOsType()
case WINDOWS9X,WINDOWSME
if lstr_RCS.RasConnstatus>17 and lstr_RCS.RasConnstatus<>8192 then exit
case WINDOWSNT4,WINDOWS2000
if lstr_RCS.uError <> 0 or lstr_RCS.RASConnstatus = RASCS_DONE then exit
//LOOP WHILE lstr_RCS.uError = 0 AND lstr_RCS.RASConnstatus <> RASCS_DONE
//loop while lstr_RCS.RasConnstatus<=17 or lstr_RCS.RasConnstatus=8192
end choose
loop
//LOOP WHILE lstr_RCS.uError = 0 AND lstr_RCS.RASConnstatus <> RASCS_DONE
//loop while lstr_RCS.RasConnstatus<=17 or lstr_RCS.RasConnstatus=8192
END IF