티스토리 뷰

로그인 관련 함수를 이용해서 C#으로 예제 프로그램을 만들어보자.

 

1. Visual Studio를 실행하고 파일 > 새로만들기 > 프로젝트를 실행한다.

 

2. Visual C#에서 Windows Forms 앱을 선택하고 이름을 openAPI로 작성하고 확인을 누른다. (이름이 달라도 상관없다.)

 

3. 아래와 같이 디자인 영역에 Button, ListBox, KHOpenAPI Control을 추가하고 각각의 속성을 수정한다.

 

4. 로그인 버튼을 더블 클릭하여 클릭 이벤트 메서드(loginButton_Click)를 생성한다. 이 이벤트 메서드는 버튼을 클릭시 실행되는 이벤트 메서드가 된다. 이벤트 메서드 안에 다음과 같은 코드를 작성하자.


private void loginButton_Click(object sender, EventArgs e)
        {
            var result = openAPI.CommConnect();

            if (result != 0)
            {
                MessageBox.Show("CommConnect()호출 실패");
            }
        }

openAPI.CommConet()로 로그인창을 출력시키고, 결과값을 result로 저장한다. openAPI.CommConet()호출이 실패하면 result가 음수가 되고 MessageBox를 실행시켜 사용자에게 정보를 전달한다.

 

5. 이제 로그인 처리 이벤트 메소드인 OnEventConnect()를 만들어보자.

디자인영역에서 KHOpenAPI Control을 선택하고 속성창에서 이벤트(번개모양)를 선택하고 OnEventConnect의 오른쪽 칸에 OnEventConnect를 입력하고 엔터를 누르면 아래와 같이 OnEventConnect메서드 코드를 자동으로 생성한다.

private void OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
        }

키움 openAPI개발가이드에서는 void OnEventConnect(long nErrCode)로 인자가 사용된다고 하였지만, C#에서는 조금 다른 것을 볼 수 있다. (아마도 C# winForm 이벤트 형식에 맞춰서 api를 래핑해서 그런 것 같다.) 1번째 인자인 sender은 이벤트를 발생시킨 개체인 AxKHOpenAPILib.AxKHOpenAPI의 정보가 담겨있다. 실제 개발할 때는 사용할 일이 거의 없다고 보면 된다. 2번째 인자인 e에는 원래 함수에 있어야할 인자들의 정보들이 들어있다. OnEventConnect()에는 long nErrCode인자가 있다. 그래서 e.nErrCode가 있다. (좀더 자세히 이야기 하자면 _DKHOpenAPIEvents_OnEventConnectEvent클래스에 int nErrCode 프로퍼티로 작성되어 있다. 자료형도 long이 아님을 알 수 있다.) e.nErrCode의 값을 이용하여 로그인 처리 값을 listBox에 출력하는 코드를 추가해 보자.

 

private void OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            switch (e.nErrCode)
            {
                case 0:
                    listBox.Items.Add("로그인 성공");
                    break;
                case -100:
                    listBox.Items.Add("사용자정보 교환 실패");
                    break;
                case -101:
                    listBox.Items.Add("서버접속 실패");
                    break;
                case -102:
                    listBox.Items.Add("버전처리 실패");
                    break;
                default:
                    break;
            }
        }CODE>

6. 이제 F5(혹은 Ctrl + F5)를 눌러서 프로그램을 실행시키고, 로그인을 성공하면 아래와 같이 출력되는 것을 볼 수 있다.

 

 

만일 실행이 되지 않는다면 실습에서 사용했던 코드를 첨부하였으니 참고하길 바란다.

openAPI.zip

'키움 Open API > 개발가이드' 카테고리의 다른 글

조회처리  (0) 2018.03.08
로그인과 버전관리  (0) 2018.03.08
키움 openAPI  (0) 2018.03.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 29 30 31
글 보관함