티스토리 뷰

LG키폰 OpenAPI (센트릭스 고급형) 1 - 로그인

기존 일반 키폰에서 LG 센트릭스 고급형으로 변경하고 OpenAPI 사용하기

>>>> 2023.01.09 윈도우11 기준 추가

PC를 포맷한 경우 기존에 등록한 컨트롤이 없으면 MFC 프로젝트에서 Dialog 리소스 창으로 열면 위와 같은 창이 뜨면서 안열린다.

솔루션 탐색기에서 리소스 코드보기로 rc 파일을 열고 109, 110행 처럼 문제가 되는 컨트롤을 주석처리하고 저장해서 다시 Dialog 리소스 창을 볼 수 있다.

 

 

윈도우10 기준

http://openapi.uplus.co.kr      

LG키폰20190112.zip
다운로드

1.  http://openapi.uplus.co.kr/contents/downlist.html?sm=2_1 에서 아래 그림 노란색부분의 최신버전 OCX, Web 샘플을 다운로드 한다.

2. 다운받은 2개 파일의 압축을 푼다.

3. Centrex_lgapi.html 파일의 속성에서 아래 그림과 같이 '차단 해제' 에 체크한다. (체크 안하면 웹브라우저에서 OCX 컨트롤을  못한다.)

3-1 - 추가> 3Centrex_lgapi.html 파일의 속성창이 아래 그림처럼 안 나오면 LGBaseOpenApi.cab 파일의 속성에서 아래 처럼 '차단해제' 하고, 익스플로러를 관리자권한으로 실행해서 Centrex_lgapi.html 룰 열면 된다.

 

4. 익스플로러를 관리자 권한(익스플로러를 마우스 우측버튼 눌러 관리자권한으로 실생 선택)으로 실행하여 파일 메뉴에서 열기.. 선택하고 C:\Users\USER\Downloads\Centrex_lgapi_html 을 선택한다.

5. 아래 그림처럼 '차단된 콘텐츠 허용' 을 클릭해서 ActiveX 컨트롤을 설치한다. 이 과정을 거쳐야 10번에서 LGUBaseOpenAPI Control 을 선택할 수 있게 된다.

6. 아래 그림처럼 창 왼쪽 아래에 원이 보여야 한다. 그러면, ActiveX 컨트롤이 정상적으로 설치된 것이다.

추가 20221004>>>>>>
윈도우에서 익스플로러 지원이 끝나 엣지를 써야 해서 위와 같은 방법으로 OCX 등록이 어려워
아래 그림처럼 도스창을 관리자권한으로 실행하여 등록한다.
OCX 가 있는 폴더로 이동한 다음 regsvr32 LGUBaseOpenApi.ocx 를 실행하면 등록되고
regsvr32 /u LGUBaseOpenApi.ocx 로 제거한다.

 

 

7. http://centrex.uplus.co.kr 에서 아이디에 센트릭스 고급형에 가입한 인터넷 전화번호를 입력하고 '비밀번호 초기화' 버튼을 눌러 비밀번호를 설정해야만 OpenAPI에서 아이디와 암호로 사용된다. 이때 해당 번호의 전화기에서 문자로 받은 인증번호를 입력해야 한다.

8. MFC 프로젝트를 대화상자 기반으로 만든다.

9. 리소스에서 다이얼로그를 선택하고 마우스 우측 버튼눌러 'ActiceX 컨트롤 삽입' 메뉴를 선택한다.

10. 아래 그림에서 'LGUBaseOpenApi Control' 을 선택하고 확인 버튼을 누른다.

 

11. 아래 그림처럼 원(ActiceX 컨트롤)이 추가되고, 적당한 위치를 지정한다.

 

12. 추가한 'LGUBaseOpenApi Control' 을 선택하고 마우스 우측버튼 눌러 아래 그림처럼 변수 추가한다.

13. 11번 그림에서 '로그인' 버튼을 더블클릭하여 아래 처럼 코드를 추가한다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void CKeyPhoneDlg::OnBnClickedButtonLogin()
{
    // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
    UpdateData(true);
    m_ctlOCX.SetSeedEncryption();
    int nResult = -1;
    nResult = m_ctlOCX.LoginServer(m_strID, m_strPWD, m_strDomain);
    if (nResult > 0)
    {
        if (m_ctlOCX.IsConnected() == TRUE) // 로그인이 성공하고 서버와 연결된 경우
        {
            CString strCallNum = TEXT("114");
            m_ctlOCX.Click2Call(strCallNum, """"); // 114 로 부터 전화벨이 울린다.
        }
    }
    else
        AfxMessageBox(TEXT("Login 실패"));
}
cs

<추가한 변수관련 코드 참조> m_strID, m_strPWD, m_strDomain, m_ctlOCX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CKeyPhoneDlg::CKeyPhoneDlg(CWnd* pParent /*=NULL*/)
    : CDialogEx(IDD_KEYPHONE_DIALOG, pParent)
    , m_strID(_T(""))
    , m_strPWD(_T(""))
    , m_strDomain(_T(""))
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CKeyPhoneDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
 
    DDX_Text(pDX, IDC_EDIT_ID, m_strID);
    DDX_Text(pDX, IDC_EDIT_PWD, m_strPWD);
    DDX_Control(pDX, IDC_LGUBASEOPENAPICTRL2, m_ctlOCX);
}
 
BEGIN_MESSAGE_MAP(CKeyPhoneDlg, CDialogEx)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_BUTTON_LOGIN, &CKeyPhoneDlg::OnBnClickedButtonLogin)
END_MESSAGE_MAP()
cs


14. 7번에서 ID와 새로 등록한 암호로 로그인하면 ID로 입력한 전화기에 아래 그림처럼 114로 부터 전화벨이 울린다.

이벤트처리기 추가는 다음글 참조 : http://petra.tistory.com/1109

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28