안녕하세요 인터럽트입니다.
이번포스팅에서는 저번에 이어 키움 Open API를 어떻게 참조를 걸고 어떤 방식으로 디렉터리 구조를 구성했는지 정리하겠습니다.
C# WPF로 자동매매프로그램 만들기 - 프로젝트 구성 및 참조
1. Winform 프로젝트 생성 (키움 로그인창 Control)
우선 Winform 프로젝트를 생성해 줍니다.
왜 winform이냐고요? 음,,, 키움에서 제공하는 API는 로그인을 해야지 사용이 가능합니다.
제공해 준 API에도 로그인 기능이 있고요 근데 그 로그인 Control이 WPF에서는 사용이 안됩니다.
어쩔 수 없이 Winform에 배치하고 WPF화면에서 Winform 사용자 컨트롤을 가져다 쓰는 방법으로 진행하게 ㅆ습니다.
2. Winform 프로젝트에 Open API 참조추가
위에서 설명했던 데로 Winform에 Open API - Login Control을 사용하기 위해 참조를 추가하겠습니다.
위 경로를 선택한 후 Open API설치 경로에서 khopenapi.ocx를 찾아 추가해 줍니다.
3. 도구상자에 키움 컨트롤 추가하기
도구상자에서 우클릭한 뒤 항목선택을 눌러줍니다.
도구 상자 항목 선택에서 COM 구성요소로 tab을 이동한 후 KHOpenAPI Control을 선택하고 확인을 눌러줍니다.
정상적으로 등록이 되면 아래처럼 Control이 도구상자에 추가됩니다.
컨트롤을 더블클릭해서 화면에 배치하고 컨트롤 속성에서 Name과 Dock 속성을 수정해 줬습니다.
Name = 'axKHOpenAPI'
Dock = Fill
4. WPF 프로젝트 만들기
로그인컨트롤을 만들었으니 이제 WPF프로젝트를 만들어 줍니다.
저는 프로젝트명을 MainWindows로 만들고 시작프로젝트를 MainWindows로 설정해 줬습니다.
새로 추가한 WPF 프로젝트에서 참조를 추가할 겁니다.
참조 관리자에서 어셈블리를 선택한 후 system.windows.Forms, Windows.FormsIntegration 두 개를 추가해 줍니다.
이번에는 어셈블리가 아니라 프로젝트로 들어가서 Winform으로 만든 로그인 컨트롤을 추가해 줍니다.
5. Winform 컨트롤에 소스 수정
아래 이미지에 표시해 둔 3가지 추가해주세요
6. MainWindows WPF 소스 수정
Xaml 소스상단에 Winform nameSpace를 추가해 주고 Grid에 컨트롤도 추가해 줍니다.
MainWindow.cs에 화면이 시작될 때 Xaml에서 추가한 KhCtrlApi 컨트롤의 Login기능을 실행하라고 선언해 줍니다.
7. 실행해서 테스트하기
저장하고 실행하면 정상적으로 로그인 화면이 나오는 걸 볼 수 있습니다.
로그인창은 비동기
이번 포스팅에서는 윈폼으로 키움 로그인컨트롤을 만들고 WPF로 시작프로젝트를 만든 후 WPF에 Winform 사용자 컨트롤을 추가했습니다.
읽어주셔서 감사합니다
