在中调用实现拨号上网牛

减速机/变速机2021年09月06日

在Visual FoxPro 中实现拨号上功能,难点在于如何调用相应的WINDOWS API函数。与拨号络相关的几个API函数需要复杂的结构类型的参数,在VFP帮助文件“程序员指南—访问API”中有相关说明,但较为简单,不足以解决问题,在此作进一步探讨。希望通过本文能解决实现拨号上的实际问题,更希望通过这个例子帮助了解如何在VFP环境下调用参数复杂的API函数,以扩展VFP的应用。

因篇幅所限,本文仅论述关键部分,相关细节说明请参阅参考文件。

WINDOWS API中RasDial函数可实现拨号上功能,可在MSDN帮助中查到,其参数简述如下:

DWORD RasDial( // 返回四字节整数,对应VFP的INTEGER型变量

LPRASDIALEXTENSIONS lpRasDialExtensions, // 指针,置NULL即可

LPCTSTR lpszPhonebook, // 指针,置NULL即可

LPRASDIALPARAMS lpRasDialParams,

// 指针,指向参数结构变量RASDIALPARAMS

DWORD dwNotifierType, // 四字节整数,置0即可

LPVOID lpvNotifier, // 指针,置NULL即可

为全柴应答行业转型成长、抢占市场先机奠基根本。 LPHRASCONN lphRasConn // 指针,指向远程访问连接句柄HRASCONN。

// 调用RasDial前需先置HRASCONN为NULL

);

其中结构RASDIALPARAMS描述如下:

typedef struct _RASDIALPARAMS {

DWORD dwSize; // 4字节,值为本结构占用总字节数

// 调用此函数前必须给此变量赋值

TCHAR szEntryName[RAS_MaxEntryName + 1];

// 257字节,拨号络簿中连接名,

// 为空则在第一个MODEM端口上,用下述号码、用户名、密码建立连接

TCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; // 129字节,号码

TCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];

// 129字节,回叫号码,置空

TCHAR szUserName[UNLEN + 1]; // 257字节,用户名

TCHAR szPassword[PWLEN + 1]; // 257字节,密码

TCHAR szDomain[DNLEN + 1] ; // 16字节,域名,置空

#if (WINVER = 0x401) // 缺省情况下,WINVER=Ox400,无以下两项

DWORD dwSubEntry;

DWORD dwCallbackId;

#endif

} RASDIALPARAMS;

以上RAS_MaxEntryName等预定义值,可从RAS.H与LMCONS.H中查出。难点在于dwSize值的确定:将结构中各变量字节长度累加应为1049字节,但将1049代入dwSize去调用RasDial函数却返回错误。启动VC++6.0定义了一个RASDIALPARAMS型结构变量后,发现其长度为1052字节,即最接近1049且能被4(DWORD所占字节数)整除的值。

艾拉莫德片是不是止痛药呢
南昌医院男科
双鸭山白斑医院
相关阅读
当代风雅大师——石一

石一,1953年7月底生,出身菁英。少年时喜好山水画,在校经常舞文弄墨。未满后...

2024-04-24
我借此我的爱情是这样的

我希望我的真悲情是这样的,相濡以沫,举案齐眉,平淡如井水。我在岁里面...

2024-04-21
小伙单膝跪地向好看的女友订婚,女子全程冷漠吃饭,未做任何回应

真情人先真情己,不管是男是女,只有在真情自己的思路去真情别人,才能平...

2024-04-02
相媲美天然钻石,研究人员培育出最大10克拉的人工钻石

科幻新媒体6月23日讯(刘亚珠) 据悉,经过西田的金刚石被称作红宝石,红...

2024-03-09
随时成为TVB“亲生女”!30岁人气缪斯宣布:与旧经理人公司约满

本文由 港喜剧喜剧透王为 编辑部 轩逸王为 作者原创/刊登请求写明 大姐30岁...

2024-01-31
爱你是我的自由,就让你是我的感觉

往昔里你曾激浪勇进,不曾管天是晴割,幻想要若破灭随之粗犷,风卷浪花水...

2024-01-21
友情链接