레이블이 키움인 게시물을 표시합니다. 모든 게시물 표시
레이블이 키움인 게시물을 표시합니다. 모든 게시물 표시

2015년 8월 1일 토요일

키움 openAPI 의 C# 윈도폼 콘트롤로 로그인창 띄우기

 이전 포스트에서 만든 windows Form control을 테스트하기 위해서 다음과 같이 로그인 메뉴를 하나 생성해서 간단한 코드를 작성해 보자.

 먼저 [도구 상자]에서 menu strip을 윈폼에 드래그 앤 드랍해서 메뉴줄을 만든 다음 File 메뉴와 그 밑에 로그인 메뉴를 만든다. 그리고 로그인 메뉴를 더블클릭하면 로그인이 선택되었을 때 호출되는 함수를 자동으로 만들어 준다.


그 함수 본체에 다음과 같은 프로그램을 입력한다.


여기서 axKHOpenAPI 객체는 이전 포스트에서 만든 콘트롤의 객체이다. 이 객체의 CommConnect() 함수는 로그인창을 띄워서 로그인을 진행할 수 있게 해준다. 아래는 개발자 매뉴얼의 ConnConnect()함수 설명이다.


만약 성공적으로 로그인 창이 생성되었다면 0 값을 반환한다. 로그인이 되면 폼의 타이틀에 “로그인창 활성화”라고 표시해 주는 간단한 프로그램이다.


실제로 로그인이 성공적으로 되었는지를 체크하려면 이벤트를 수신하여 그 결과값을 보아야 한다.


키움 openAPI 의 C# 윈도폼 콘트롤 생성하기

 여기에서는 visual studio를 이용하여 C# windows Form 프로젝트에 키움 openAPI 의 activaX 모듈에 접근할 수 있는 콘트롤을 생성하는 방법을 설명하도록 하겠다. 사용하는 도구는 visual studio 2015 community 버전인데 이것은 사용에 제약이 없는 무료 프로그램이므로 쉽게 다운로드 받아서 바로 설치할 수 있다. ( 이전 포스트의 모든 단계는 완료 되었다고 가정한다.)

 visual studio를 실행시켜서 새로운 프로젝트를 생성한다.


그 다음 <windows Forms 응용 프로그램(visual c#)>을 선택하여 이름을 적당히 입력하고 프로젝트를 생성한다.


그러면 다음과 같이 빈 프로젝트가 생성된다.


그 다음 다음과 같이 도구>도구상자 항목 선택(X) 을 실행한다.


그 다음 [COM 구성 요소]에서 [KHOpenAPI Control] 항목을 찾아 체크한 후 [확인] 버튼을 클릭한다. 키움 openAPI 모듈이 설치되면서 이 모듈은 자동으로 윈도우에 등록이 되므로 여기에서 보여야 한다. (만약 보이지 않는다면 키움 openAPI 모듈을 다시 설치한다.)


이제 도구상자 (보기(V)>도구상자(X)메뉴를 선택한다) 에 다음과 같이 컨트롤이 생성되었으며 이것을 드래그 앤 드랍으로 폼위에 배치시킨다.


속성창에서 이름(name)을 적당히 변경한다. 프로그램에서는 이 이름으로 openAPI모듈의 함수들을 호출할 수 있다.

 만약 이러한 과정이 번거롭다면 키움 자료실에 C#예제가 등록되어 있으니 그것을 다운로드 받아서 수정하여 사용하여도 된다.


키움 openAPI 의 KOA Studio로 버젼처리 하기

 키움 openAPI 를 이용하려면 보통 다음과 같은 순서를 따른다.

 계좌 개설 > 아이디 등록 > 모의투자 신청 > openAPI 사용 신청 > 번개2 설치 > openAPI 모듈 설치

그리고 보통 KOA Studio를 실행시켜서 (위 그림 참조) 모듈의 동작을 시험하는데 맨 처음에 실행시키고 로그인을 하면 버전 처리(버젼을 체크하여 업그레이드하는 것 같다.)가 진행된다.


 파일> open API접속 메뉴로 로그인하면 다음과 같이 로그인이 되는 중간에 메세지가 나온다. 중요한 것은 일단 현재 실행되고 있는 KOA Studio 프로그램을 종료해야 한다. 이것 때문에 한참을 헤맸었다. 그리고 혹시 번개2나 영웅문이 실행되고 있다면 그것도 종료해야 합니다. 모든 프로그램을 종료한 후에야 정상적으로 진행 된다.

버전 처리가 완료되었다면 다시 KOA Studio를 실행하여 Open API 접속(로그인)을 하면 정상으로 로그인이 되어야 한다.


그 이후에 모듈을 시험해 볼 수 있다.


위 그림은 삼성전자(005930)의 기본 정보를 받아본 것이다. 먼저 좌하단의 TR목록 탭을 선택하여 맨 처음 TR인 <주식기본정보요청>에 종목코드를 입력하면 샘플 프로그램과 처리 결과를 보여준다. 이게 되었다면 개발에 필요한 사전 준비는 마친 것이다.