서론
이제 본격적으로 키움증권 Open API를 통해 기능을 구현할 차례입니다. 제일 첫번째로 우선 로그인 기능을 구현한 뒤, 로그인된 키움증권 계정의 전체 계좌 정보, 사용자 아이디, 사용자 명 등을 가져오는 동작을 구현해보도록 하겠습니다.GetLoginInfo
C#으로 키움증권 Open API (1) - 사용하기 링크
C#으로 키움증권 Open API (3) - 예수금 및 종목 정보 조회 링크
1. 로그인 기능 만들기
private void Form1_Load(object sender, EventArgs e)
{
InitializeEvents();
}
private void InitializeEvents()
{
// KHOpenAPI Control
axKHOpenAPI1.OnEventConnect += (s, e) =>
{
if (e.nErrCode == 0)
WriteLog("로그인 성공"); // 정상 처리
else
WriteLog(e.nErrCode.ToString()); // 에러 발생
};
// 로그인 버튼
btnLogin.Click += (s, e) =>
{
if (axKHOpenAPI1.CommConnect() == 0)
WriteLog("로그인창 열기 성공");
else
WriteLog("로그인창 열기 실패");
};
// 연결 확인 버튼
btnCheckConnect.Click += (s, e) =>
{
if (axKHOpenAPI1.GetConnectState() == 0)
WriteLog("Open API 연결되어 있지 않습니다.");
else
WriteLog("Open API 연결 중입니다.");
};
}
private void WriteLog(string message)
{
rtxtLog.AppendText($@"{message}
");
rtxtLog.SelectionStart = rtxtLog.Text.Length;
rtxtLog.ScrollToCaret();
}
2. 로그인 정보 읽어오기
// 정보 조회
btnLoginInfo.Click += (s, e) =>
{
// 계좌 개수
txtAcctCount.Text = axKHOpenAPI1.GetLoginInfo("ACCOUNT_CNT");
// 전체 계좌 정보 (계좌별 구분 - ";")
txtAcctInfo.Text = axKHOpenAPI1.GetLoginInfo("ACCNO");
// 사용자 ID
txtUserID.Text = axKHOpenAPI1.GetLoginInfo("USER_ID");
// 사용자명
txtUserName.Text = axKHOpenAPI1.GetLoginInfo("USER_NAME");
// 키보드 보안 해지 여부 (0 정상, 1 해지)
txtKeyProtect.Text = axKHOpenAPI1.GetLoginInfo("KEY_BSECGB");
// 방화벽 설정 여부 (0 미설정, 1 설정, 2 해지)
txtFirewall.Text = axKHOpenAPI1.GetLoginInfo("FIREW_SECGB");
};
// 정보 조회
btnLoginInfo.Click += (s, e) =>
{
// 계좌 개수
txtAcctCount.Text = axKHOpenAPI1.GetLoginInfo("ACCOUNT_CNT");
// 전체 계좌 정보 (계좌별 구분 - ";")
cboAcctInfo.Items.AddRange(axKHOpenAPI1.GetLoginInfo("ACCNO").Split(';'));
cboAcctInfo.SelectedIndex = 0;
// 사용자 ID
txtUserID.Text = axKHOpenAPI1.GetLoginInfo("USER_ID");
// 사용자명
txtUserName.Text = axKHOpenAPI1.GetLoginInfo("USER_NAME");
};
마무리
키움증권 Open API를 C# Winform을 통해 구현하는 방법에 대해서 포스팅을 이어가고 있습니다. 이번 포스팅에서는 로그인부터 로그인 계정 정보를 가져오는 부분까지였습니다. 다음 포스팅부터 본격적으로 증권 데이터를 읽어오는 동작에 대해서 포스팅을 이어가겠습니다.
C#으로 키움증권 Open API (1) - 사용하기 링크
C#으로 키움증권 Open API (3) - 예수금 및 종목 정보 조회 링크
Uploaded by N2T