上一页 1 2 分析至此,函数RasDial的各项参数已清楚,VFP中调用程序如下:
*!* 先注册函数
DECLARE INTEGER RasDial in rasapi32 ; INTEGER , ; && lpRasDialExtensions INTEGER , ; && lpszPhonebook STRING @ , ; && 指向RasDialParams INTEGER , ; && dwNotifierType INTEGER , ; && lpvNotifier INTEGER @ && 指向hRasConn *!* 给结构变量RasDialParams中各变量赋初值 dwSize= CHR(28)+ CHR(4)+ CHR(0)+ CHR(0) && 即4*256+28=1052 szEntryName=REPLICATE(CHR(0), 257) && 不使用电话簿 sTemp="95963" && 服务器(INTERNET服务商或自建)的电话号码 TszPhoneNumber = sTemp +REPLICATE(CHR(0),129-LEN(sTemp)) && 补足129字节 szCallbackNumber=REPLICATE(CHR(0), 129) && 回拨号码,置空 sTemp="263" && 用户名 szUserName = sTemp +REPLICATE(CHR(0),257-LEN(sTemp)) && 补足字节数 sTemp="263" && 密码 szPassword = sTemp +REPLICATE(CHR(0),257-LEN(sTemp)) && 补足字节数 szDomain=REPLICATE(CHR(0), 16) && 如为自建服务器,可填入相应域名 *!* 生成结构变量RasDialParams初值 RasDialParams=dwSize+szEntryName+TszPhoneNumber+szCallbackNumber ; +szUserName+szPassword+szDomain +REPLICATE(CHR(0), 3) hRasConn=0 && 远程访问连接句柄,初值为0 DialResult=RasDial(0,0, @RasDialParams,0,0,@hRasConn) | 断线的程序如下:
DECLARE INTEGER RasHangUp in rasapi32 INTEGER HangResult=RasHangUp(hRasConn) | 注意以下几点:
* 指针参数(p或lp开头)通常按引用传递。NULL指针为特殊情况,其值为0,在VFP中对应值为0的INTEGER类型变量。句柄参数(H开头)对应INTERGER变量。
* API函数中空字符的ASCII码为0,即CHR(0)。
本文中的程序在Visual FoxPro 6.0下编译通过,在WINDOWS98、WINDOWS2000下运行成功。
上一页 1 2 |