应用开发及部署 » 应用实践:VC 2008客户端开发
准备工作请安装 Visual Studio 2008 的最新 Service Pack 版本,否则有可能出现运行时错误,需要手工修改工程设置。 在开始建立集成比特授权云客户端API的应用程序之前,开发人员必须在控制台上完成设立产品、模版以及授权码的工作, 并且下载了与开发语言一致的客户端库和接口定义文件。 对于在Visual Studio 2008上开发MFC应用程序,开发人员应该下载“MD静态库”以及“C语言头文件”。 静态库的文件名是唯一的,与授权产品相关。其格式形如:xxxxxxxx_xxxxxxxx_md.lib,其中的xx为代表16进制整数的字符。 C语言头文件的文件名为:bitanswer.h。 更多有关比特授权云控制台的操作,请参考 使用控制台完成授权设计 。
MD静态库与MT静态库:在下载时选择MD静态库或MT静态库取决于项目类型和编译选项。
相关的说明可以参考 这里 。
在Visual Studio 2008上建立新的MFC应用程序工程打开VS2008的IDE界面,从菜单中选择 File->New->Project, 在弹出的“New Project”对话框中选择“Visual C++”下面的“MFC Application”。 在下面的“Name”栏里输入 BitSample 或者其它表示该工程的名称。点击“OK”,进入“MFC Application Wizard”。
在设置中选择“Application type”为“Dialog Based”,并且不要选择“Use Unicode libraries”,
这是为了在代码中输入SN串时避免在Unicode和非Unicode之间转换。
Build新建立的工程,将成功出现如下所示的对话框: 在工程中添加比特授权云安全库支持把准备工作中下载的静态库及头文件拷贝到MFC工程目录下。在Solution Explorer中将头文件添加到项目文件树里。 在 bitanswer.h 文件中已经包含了对MD静态库的引用: #pragma comment(lib, "xxxxxxxx_xxxxxxxx_md.lib")
在对话框类头文件(这里是BitSampleDlg.h)头部添加 #include "bitanswer.h" 在CBitSampleDlg类中添加新的私有变量BIT_HANDLE m_handle;,用于保存Login之后产生的句柄。
在对话框界面上添加ID为 ID_SN 的编辑框,以及 Login 和 Logout 按钮。为 ID_SN 添加 CString 类型的变量,
变量名为:m_sn。ID_SN用于输入授权码,而 Login、Logout 按钮用于执行相应的登入和登出操作。 双击Login和Logout按钮,为它们添加处理函数。下面给出了最简单的通过按钮调用 Bit_Login 和 Bit_Logout 函数的例子代码。 代码中简单地弹出Windows Message对话框提示函数执行的状态。 void CBitSampleDlg::OnBnClickedLogin() { UpdateData(); BIT_STATUS bs = Bit_Login(NULL, m_sn, application_data, &m_handle, BIT_MODE_AUTO); if (bs == BIT_SUCCESS) { MessageBox("登录成功!"); } else { m_handle = NULL; MessageBox("登录失败"); } } void CBitSampleDlg::OnBnClickedLogout() { if (m_handle == NULL) return; BIT_STATUS bs = Bit_Logout(m_handle); if (bs == BIT_SUCCESS) MessageBox("Logout成功!"); else MessageBox("Logout失败"); m_handle = NULL; } 在上面的代码中,调用Bit_Login时输入了5个参数。 第一个参数是授权服务器地址,如果为NULL,则使用默认的比特授权服务器进行认证; 第二个参数是输入的授权码;第三个参数是Application Data, 它是定义在bitanswer.h头文件中的与产品相关的安全数据,开发人员不需要去定义和改变它; 第四个参数是返回的环境句柄,用于今后对其它API的调用;最后一个参数是 LOGIN_MODE 枚举类型,用于定义登录模式,这里设为自动模式。 注意事项在Project Properties -> Linker -> Input中,将 MSVCRT; MSVCR90 加入忽略列表,可以避免编译警告或有些情况下出现的不能找到msvcd90.dll运行时错误。 对于64位Windows应用程序或Linux下的应用程序,应分别下载相应的库。 现在你的第一个MFC应用程序应该已经可以正常运行了。可以参考 C语言接口定义 为程序添加更多的功能。 祝你开发愉快! |