728x90

소프트웨어 연구실 : http://www.softlab365.com/wordpress/

위 사이트 정리 : http://dev-skill.tistory.com/59


728x90

'좋은 사이트' 카테고리의 다른 글

사이트 - Hooking  (0) 2021.01.19
사이트 - Vulkan 강좌  (0) 2020.10.25
사이트 - DirectX 강좌  (0) 2016.04.19
사이트 - MS에서 제공하는 무료 서적 사이트  (0) 2016.03.07
사이트 - 무료 수학 강의 사이트  (0) 2016.03.07
728x90

간단한 프로젝트에서는 ini를 많이 사용하는데, 모든 함수를 일일히 만들기는 힘들기(귀찮기...) 때문에, CodeProject에서 많이 사용한 CIni를 사용하면 좋다.


이 클래스를 이용하면 읽기, 쓰기, 수정등의 함수들을 제공하므로 사용법만 익히면 된다.


CIni : https://www.codeproject.com/Articles/5401/CIni


CIni.h

CIni.cpp



사용법




위 사용 방법에는 없지만 bool, char, 문자열 배열 등 많은 기능이 더 있다.

사용 방법은 위의 3개와 거의 비슷하기 때문에 그냥 쓰면 될 것 같다.

728x90

'Script > ini' 카테고리의 다른 글

ini - 설정파일(ini) 사용하기  (0) 2016.03.03
728x90

CString은 MFC에서 제공되는 정말 좋은 클래스이지만, MFC가 아닌데에서는 사용할 수 없다는 점이 너무 가슴이 아픈것 같다...


개인적으로 자주 사용하는 애들만 정리해보았다.


- CString -> DWORD



- DWORD -> CString



- 원하는 문자 삭제




- 원하는 위치의 문자 or 문자열 삭제




- 문자열 비교




- Left, Mid, Right



728x90
728x90

MFC로 툴을 만드는 프로젝트를 진행하는 도중에 다음과 같은 에러가 발생하였다.


error RC2108: expected numerical dialog constant


검색 결과 이 에러는 Visual Studio 2013에서 Picture Control을 사용할 때에 발생하는 버그라고 한다.


MS 고객 문의 결과 : https://connect.microsoft.com/VisualStudio/feedback/details/806403/bug-in-ressourceneditor



이 에러를 고치는 가장 확실한 방법은 


Visual Studio2013 -> 도구 -> 확장 및 업데이트 -> 업데이트 

에서 최신 버전으로 업데이트를 해주는 방법이다.



임시 방편으로 고치는 방법은 아래와 같이 수동으로 rc 파일을 수정하는 방법이다.

 

변경 전 (오류 발생)

변경 후

 CONTROL IDB_BITMAP1,IDC_STATIC,0,0,0,0,NOT WS_GROUP

CONTROL IDB_BITMAP1,IDC_STATIC,"Static",SS_BITMAP,0,0,0,0,NOT WS_GROUP

 

728x90
728x90

프로그램이 동작하는 도중에 다른 프로그램을 실행해야 하는 상황이 있다.

이럴 때에는 CreateProcess()혹은 WinExec() 등의 다양한 방법이 있겠지만, 나의 경우에는 CreateProcess()가 익숙하므로

이것에 대해서 일단 정리를 해둔다.


CreateProcess()의 첫 번째 인자 값으로는 프로그램이 위치한 절대 경로를 입력해서 사용하고,

만약 상대 경로의 경우에는 첫 번째 인자 값으로는 NULL, 두 번째 인자 값으로 상대 경로를 넣으면 된다.



728x90
728x90

Dialog 기반 프로그램에서는 Enter Key, Esc Key 를 입력받게 되면 프로그램이 종료되게 된다.


뭐 ESC 키에서는 그려러니 할 수 있는데, Enter 키에서 종료가 되어버리면 원치 않는 경우일 수 있다. 

왜냐하면, Edit Box에서 입력을 하기 위해 Enter 키를 눌렀거나, Button을 키보드로 누르기 위해 Enter 키를 누를 수 있기 때문이다.


이런 것을 일명 엔터 버그라고 부른다고 한다. (책에서...)


이럴 때에는 따로 Enter, Esc 키를 눌러도 종료가 되지 않게끔 추가 작업을 해줘야 한다.


728x90
728x90

프로그램의 실행 경로를 가져오기 위해서는 아래와 같이 하면 된다.



코드는 따로 설명할게 없네...



728x90
728x90

이 클래스는 Google 검색을 기반으로 그냥 만든 것이다.


아래 소스 코드는 기본적으로 MFC에서 작업한다는 가정하에 만들어진 것이므로, CString을 사용하고 있다.

추후 다른 환경에서 개발을 한다면 약간의 소스 코드 변경이 필요할 것이다.




CMagicPacket.cpp

CMagicPacket.h



사용 방법은 다음과 같다.



만약 이 패킷을 보냈는데 컴퓨터가 켜지지 않는다면 해당 PC의 설정을 변경해줘야만 한다.




Windows 7 의 경우에는 다음과 같이 설정하면 된다.


1. 네트워크 설정.


2. 제어판 -> 방화벽 -> 고급에서 다음과 같이새 인바운드 규칙을 만들면 된다.




3. 바이오스에서 WOL 관련 기능을 켜주자.




Windows 10 의 경우는 다음과 같다.


1. 빠른 시작을 꺼준다.



2. 네트워크 고급 설정에서 WOL 관련 기능을 켜준다.



3. 바이오스에서 WOL 관련 기능을 켜준다.

728x90

+ Recent posts