码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCSP开源程序解析之OPENCSP_AuthUI.cpp

时间:2015-06-06 09:16:10      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:opencsp

#include ".\opencsp_authui.h"
#include ".\resource.h"

extern HINSTANCE g_hModule;     // 当前实例

MY_DATA_BLOB OPENCSP_AuthUI::_authData;   //MY_DATA_BLOB二进制容器

INT_PTR OPENCSP_AuthUI::showAuthUI()      
{//在32位操作系统,64位操作系统上,一个int是4或8个字节。用INT_PTR代替int可以让代码具有更好的移植性
    INT_PTR hr;
    WORD wLangPID = PRIMARYLANGID(GetSystemDefaultLangID());  //获取当前系统是什么语言
    switch(wLangPID)
    {
    case LANG_CHINESE:  //中文
        hr = DialogBox(g_hModule, MAKEINTRESOURCE(IDD_DIALOG_PIN_CN),
            NULL, reinterpret_cast<DLGPROC>(UIProc));
        break;
    default:                      //MAKEINTRESOURCE,把一个数字类型转换成指针类型的宏
        hr = DialogBox(g_hModule, MAKEINTRESOURCE(IDD_DIALOG_PIN_EN),
            NULL, reinterpret_cast<DLGPROC>(UIProc));
        break;
    }
    return hr;
}

void OPENCSP_AuthUI::getAuthData(MY_DATA_BLOB& authData)
{
    authData = _authData;
}

//处理发送给窗口的消息函数
INT_PTR CALLBACK OPENCSP_AuthUI::UIProc(HWND hUI, UINT uMsg, WPARAM wParam, LPARAM lParam)  
{   //hUI窗口的句柄,uMsg消息类型,wParam表示通知码(例如单击,双击,SETFOCUS等),lParam表示子窗口句柄
    switch(uMsg)
    {
    case WM_INITDIALOG: //WM_INITDIALOG 消息是对话框才能收到的消息,表明对话框及其所有子控件都创建完毕
        return TRUE;
    case WM_COMMAND:    //WM_COMMAND产生的条件:点击菜单,点击加速键,点击子窗口按钮,点击工具栏按钮
        {       
            switch(wParam) 
            {
            case IDOK:   //选择了对话框OK键
                {
                    TCHAR szPin[MAX_PATH] = {0x0};
                    GetDlgItemText(hUI, IDC_EDIT_PIN, szPin, MAX_PATH);//pin码
                    _authData.clear();
                    _authData.insert(_authData.end(), szPin, szPin + lstrlen(szPin));
                    EndDialog(hUI, S_OK);
                    return TRUE;
                }
                break;
            case IDCANCEL:  //选择取消键
                {
                    EndDialog(hUI, SCARD_W_CANCELLED_BY_USER);
                    return TRUE;
                }
            }
        }
    }
    return FALSE;
}

OpenCSP开源程序解析之OPENCSP_AuthUI.cpp

标签:opencsp

原文地址:http://blog.csdn.net/sjtu_chenchen/article/details/46382905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!