能提交手机号和卡密到联通官网官方接口
实现全自动提交功能
自动提交手机号、卡密参数,验证码能自动识别
支持VB6、VC6、.NET等开发平台调用
测试环境:.NET 3.5,Windows 2003/XP/Win7(测试均通过)
开发工具:VS2008, VC6.0
接口文件:forVC.dll(C++调用时为forVC.tlb组件)
类接口:myFace
类:Class1
成员函数:
payCard(string strPhone, string strConfirmPhone, string strCardPsw); strPhone: 手机号 strConfirmPhone: 确认手机号 strCardPsw: 充值卡密码 /*出错时返回对应错误信息,成功时提示充值卡金额、有效期*/
// Import COM即forVC.tlb // 初始化COM // 引用myFace // 调用payCard(...)并传入相关参数 myFacePtr myF(CLSID_Class1); _bstr_t str1; // 返回结果 str1 = myF->payCard((_bstr_t)strPhoneNum, (_bstr_t)strConfirmPhoneNum, (_bstr_t)strCardPwd);
说明:由于非.NET语言不能直接调用.NET下的DLL,故需将DLL先注册成COM。在VS环境下编译会自动生成forVC.tlb。在实际应用中,运行"注册COM工具"里的reg.bat即可自动注册并生成forVC.tlb(必须保证forVC.dll与reg.bat在同一目录,默认生成的路径为c:\windows\system32),注册完成后"注册COM工具"目录下的文件可移除。
Class1 myClass = new Class1(); lblStatus.Text = myClass.payCard(txtPhone.Text, txtConfirmPhone.Text, txtCardPsw.Text); return;
DLL里会自动判断传入参数的合法性,调用前无需再判断:
if (string.IsNullOrEmpty(pNum)) { return "请输入手机号码"; } else if (isMatch(pNum, "1[34568]\\d{9}$")) { return "请输入正确的手机号码"; } else if (string.IsNullOrEmpty(confirmPNum)) { return "请您输入确认手机号码"; } else if (pNum != confirmPNum) { return "您两次输入的手机号码不一致,请您确认"; } else if (cardPwd.Length != 19) { return "您输入的密码长度错误,请重新输入"; } else if (string.IsNullOrEmpty(cardPwd)) { return "请输入充值卡密码"; } else if (isMatch(cardPwd, "\\d{19}$")) { return "卡密码必须为19位整数数字"; } else if (string.IsNullOrEmpty(strVCode)) { return "请输入验证码"; } else if (strVCode.Length != 4) { return "验证码长度不正确"; } return "";