본문 바로가기

Programing

(403)
CSettingsStore 클래스 MFC에는 CSettingsStore 클래스가 있어 레지스트리를 편집할 수 있다. (afxsettingsstore.h에 선언) 내부적으로protected로 선언된 ATL::CRegKey 타입의 m_reg 맴버변수가 있어서 동작을 하게 되어 있다. (atlbase.h에 선언) 키의 선택 : HKEY_LOCAL_MACHINE 또는 HKEY_CURRENT_USER CSettingsStore 클래스는 파라메터가 없는 기본생성자를 레지스트리의 구조에 대하여 알고 있다면 윈도우 레지스트리에는 루트키가 여러가지 있다는 것을 알 수 있다. 대신 오버라이드된 인자 두 개를 받는 형태의 다른 생성자가 있다. class CSettingsStore : public CObject { // Construction public: ..
디스크 드라이브 이름의 종류 볼륨명 : FindFirstVolume(IN:빈 볼륨명)~FindNextVolume(IN:핸들)~FindVolumeClose(IN:핸들)함수로 열거(enum) / GetVolumeNameForVolumeMountPoint(IN:마운트경로) 예) \\?\Volume{b674dfc8-820d-11e1-a9cd-806e6f6e6963} 디바이스명: QueryDosDevice(IN:볼륨명)함수로 획득 예) \Device\HarddiskVolume1 볼륨경로명: GetVolumePathNamesForVolumeName(IN:볼륨명) 함수로 획득 예) D:\ 디스크 타입 조사하기 GetDriveType(IN:루트경로명) 함수로 획득 레지스트리 HKEY_LOCAL_MACHINE\SYSTEM\Mounted..
[WinForm] Show와 ShowDialog와 차이 회사에서 업무일지를 웹 서버에 매일 업데이트를 하고 있었다. 동적으로 웹 페이지를 만드는 것이 정석이겠지만, DB가 워낙 복잡하게 되어있었고 나의 역할이 아니었기에 매일 메일로 날라오는 HTML 형태의 메일을 복사해서 FTP를 이용해서 올리고 있었다. 그러다가 불편해서 웹에 올리는 것을 해주는 프로그램을 만들었다. 빠르고 쉽게 만들기 위해서 닷넷의 윈폼을 사용하였다. 프로그램은 아래와 같다. HTML 내용을 복사해서 붙여놓은 다음에 "올리기"버튼을 누르면 FTP를 이용해서 파일을 올리고, 완료가 되면 메시지 창을 띄워 웹 서버의 경로를 링크로 제공하는 것. 그런데 단순히 MessageBox.Show에는 링크가 없기 때문에 또 다른 윈폼을 이용해서 커스텀 메시지박스를 만들었다. 그리고 띄우는 창이 부모의 ..