728x90

Application/C# (WinForm) 37

[C# WinForm] 키움 증권 Open API 잔고 가져오기

현재 잔고를 가져오기 위해서는 TR 코드의 OPW00004 를 이용하면 됩니다 우선 SetInputValue 를 진행 후 TRData를 요청합니다 m_axKHOpenAPI.SetInputValue("계좌번호", "계좌번호"); m_axKHOpenAPI.SetInputValue("비밀번호", ""); m_axKHOpenAPI.SetInputValue("상장폐지조회구분", "0"); m_axKHOpenAPI.SetInputValue("비밀번호입력매체구분", "00"); m_axKHOpenAPI.CommRqData("계좌평가현황요청", "OPW00004", 0, "0200"); 이후 수신받은 ReceiveTrData 에서 처리 구문을 추가하면 됩니다 private void m_axKHOpenAPI1_OnRec..

[C# WinForm] 키움 증권 Open API 전 종목 실시간 데이터 등록하기

키움 증권 Open API를 이용하여 현재 키움 증권에 등록된 전 종목의 데이터를 실시간으로 가져오기 위해서는 GetCodeListByMarket 함수를 이용해 모든 종목을 조회하여 SetRealReg 데이터로 등록을 진행하면 됩니다 우선 로그인 이후 아래와 같이 작성해 주면 전 종목을 실시간 데이터로 등록이 가능합니다 public enum ENUM_REAL_주식체결 : int { 체결시간 = 20, 현재가 = 10, 전일대비 = 11, 등락율 = 12, 최우선_매도호가 = 27, 최우선_매수호가 = 28, 거래량 = 15, 누적거래량 = 13, 누적거래대금 = 14, 시가 = 16, 고가 = 17, 저가 = 18, 전일대비기호 = 25, 전일거래량대비 = 26, 거래대금증감 = 29, 전일거래량대비_비..

[C# WinForm] 키움 증권 Open API 사용법 (OCX 사용)

키움증권 계좌 개설 및 OpenAPI 사용 신청 등 다른 초기 준비사항은 제외하고 포스팅 하겠습니다 아래 페이지로 접속하셔서 키움 Open API+ 모듈을 다운로드합니다 https://www.kiwoom.com/h/customer/download/VOpenApiInfoView 키움증권 대한민국 주식시장 점유율 1위 www.kiwoom.com 모듈 다운로드 후 설치를 하면 C:\OpenAPI 위치에 API 파일들이 설치가 진행됩니다 이후 비주얼스튜디오 C# 코드를 열어서 솔루션 탐색기에서 참조 위치를 마우스 오른쪽 버튼으로 눌러 추가합니다 설치된 C:\OpenAPI 폴더 내 khopenapi.ocx 를 선택 후 확인을 눌러줍니다 이후 도구 상자에서 오른쪽 마우스 클릭하여 항목 선택을 눌러 줍니다 도구 상자..

[C# WinForm] 시간 차 구하기 (DateTime, TimeSpan)

두 시간의 차이를 구하고자 하면 TimeSpan 구조체를 쓰면 됩니다 TimeSpan tsStart = new TimeSpan(DateTime.Now.Ticks); ..... TimeSpan tsFinish = new TimeSpan(DateTime.Now.Ticks); TimeSpan tsGap = tsFinish.Subtract(tsStart); int iGapMilliSecond = (int)(tsGap.Ticks / 10000); 이렇게 작성하면 Start 와 Finish 의 차이를 알 수 있고 틱으로 계산을 하면 MilliSecond까지 구할 수 있습니다

[C# WinForm] 중복 실행 방지 (Mutex)

프로그램의 중복실행 방지를 위해 여러 가지 방법이 존재하지만 가장 간단한 방법으로 중복실행의 방지 방법을 소개합니다 우선 상단에 system.Threading NameSpace를 추가하고 using System.Threading; 이후 전역 변수를 선언해 줍니다 private Mutex _Mutex; private bool m_bOverlap; public bool GetOverlap { get { return m_bOverlap; } } 그 다음 아래 함수를 추가하면 간단히 중복실행을 확인할 수 있습니다 private void GetTaskOverlap() { string strName = Application.ResourceAssembly.ManifestModule.Name; try { _Mutex ..

[C# WinForm] 배경 화면 지정하기 (WallPaper)

C#에서 배경 화면 지정을 하고 싶다면 외부 dll인 user32.dl를 참조하여 SystemParametersInfo함수를 선언 후 사용 하여야 합니다 기본적인 사용법은 using System.Runtime.InteropServices; using Microsoft.Win32; public class _MainClass { [DllImport("user32.dll", CharSet = CharSet.Auto)] static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); private const int SPI_SETDESKWALLPAPER = 20; private const int SPIF_U..

[C# WinForm] 엑셀 파일 사용 하기 (Excel)

C#에서 OleDb와 DataTable을 사용해 Excel 파일을 접근하여 사용할 수 있습니다 우선 Excel 클래스로는 using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; public class CExcel { private OleDbConnection m_Conn = null; private OleDbCommand m_Comm = null; public bool Open(string sFileName) { try { string sConn = string.Empty; if (sFileName.Substring(sFileName.Length - 4, 4).ToLower().Equals("xlsx")) ..

[C# WinForm] DLL 실행 파일에 포함 하기

이전에는 dll을 실행 파일에 포함하기 위해서 dll 선택 후 [파일 속성] - [빌드 작업] - [포함 리소스] 으로 해당 파일을 포함시키고 Program.cs 파일에서 Assembly로 dll을 리소스에서 가져오는 방식으로 작업을 했다면 최신 Visual Studio의 경우에 [도구] - [NuGet 패키지 관리] - [솔루션 NuGet 패키지 관리] 를 통해 특정 패키지 하나만 추가하면 추가 작업 없이 바로 컴파일 만으로 dll을 추가 가능하게 바뀌었다 해당 패키지의 이름은 Costura.Fody 패키지이다 필자가 작성 중인 당시 버전은 5.7.0 버전이 최신 버전이고 해당 패키지를 설치하게 되면 추가 라이선스 승인 진행 후 완료가 된다 완료 후 위 캡처처럼 Costura.Fody 와 Fod..

[C# WinForm] MD5 파일 Hash 값 추출

파일의 MD5 Hash 값을 추출하고 싶다면 using System; using System.IO; using System.Security.Cryptography; private bool MD5_Hash(string strPath, ref long lFileSize, ref byte[] szMD5_hash, ref int iMD5Size) { bool bRet = false; try { FileStream fs = File.OpenRead(strPath); try { byte[] szMD5 = MD5.Create().ComputeHash(fs); Array.Copy(szMD5, 0, szMD5_hash, 0, szMD5.Length); lFileSize = fs.Length; iMD5Size = szMD..

728x90
반응형