Programing/Windows 썸네일형 리스트형 MFC에서 프로세스와 스레드, IPC 출처 : http://fattarzan.tistory.com/entry/%EB%AC%B8%EC%84%9C-MFC%EC%97%90%EC%84%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%8A%A4%EB%A0%88%EB%93%9C-IPC mfc로 프로세스, 스레드 생성법과 제어 함수들 ipc 방법과 함수들이 나와있음... 기본적인 함수들은 거의 나와 있는것같으니,,,mfc로 프로그램 한다면 이걸 참고 더보기 [API] 노트패드를 이용한 덤프 출처 : http://www.dreamy.pe.kr/zbxe/?mid=codeclip&category=5904&document_srl=5967 어딘가에서 노트패드를 이용한 덤프 방법이 있길래 살펴보았다가 하나 만들어 두는것도 괜찮다 싶어서 만들어 보았습니다. 기능 1. 노트패드가 실행되지 않았을 경우 노트패드를 실행시킨다. 2. 노트패드가 특정 파일을 열어놓은 상태에서도 출력이 원활하게 이루어지도록 한다. 3. 출력은 항상 제일 하단에 위치하도록 한다. 사용 방법 #include "http://pds5.devpia.com/vc_lec/8000/7241/DumpToNotePAD.h" DumpToNotePAD("노트패드로 내용 출력중.."); DumpToNotePAD("[%s] %d, %.10lf, %s",.. 더보기 [Windows]heap에 관한 화제 출처 : http://www.geocities.jp/i96815/windows/win11.html 개요 이 기사에서는 Windows 에 있어서의 힙 메모리의 사용법과 주의점에 대해 기재한다. · heap란 무엇인가 · 프로세스 heap과 private 힙 · 단편화 · MP Heap heap란 무엇인가 Win32의 메모리 할당 함수를 크게 2종류로 분류한다. 하나는 VirtualAlloc계 또 하나를 HeapAlloc계로 한다. VirtualAlloc 계 가상 메모리의 직접적인 할당. VirtualAllocEx 등. HeapAlloc 계 Heap으로 부터의 메모리 할당. GlobalAlloc, LocalAlloc 등도 이쪽에 포함한다. 그리고 CRT (C Runtime)의 할당은 이쪽 위에 구축된다. 표.. 더보기 [Windows]Visual Studio 2005/2008에서 멀티코어 CPU를 활용한 Native C++ 컴파일 출처 : http://scarletblue.net/111 Visual Studio 2005 Service Pack 1부터 멀티코어 CPU를 활용한 Native C++ 컴파일이 가능하다는 것은 알고 있었습니다. 다만, 저는 솔루션 안에 의존성 없는 프로젝트가 여럿이 있을 경우에만 된다고 생각했었는데 실은 그것이 아니더군요. (…) 어제 군주님과 이야기하던 중에 우연히 Visual Studio 2008 소개 페이지의 'What's New in Visual C++ 2008'를 다시 볼 기회가 생겨서 보던 중에 다음과 같은 구절을 발견… The /MP compiler option reduces total build time. The /MP option can significantly reduce the tota.. 더보기 Visual Studio에서 QT사용하기 오래전부터 MFC의 UI 사용이 불편한 점이 많아서, QT를 사용할려고 했으나 QT를 상업적으로 이용할려면 라이센스를 사야하는 문제때문에 사용을 하지 못하고 있었는데, 얼마전 QT의 Opensource의 라이센스기 GPL에서 LGPL로 바뀐걸 알게되었습니다. 이제 라이센스의 제약없이 상업적인 Program을 만들 수 있게되었으니, 불편한 MFC의 UI를 버리고 Visual Studio에서 QT를 사용할 수 있는 환경을 꾸며보겠습니다. 1. QT를 Downlad 및 설치 QT를 설치할 수 있는 방법은 3가지가 있습니다. 첫번째는 LGPL 라이센스의 설치버전(exe)을 이용하는 것이고, 두번째는 LGPL 라이센스의 Source(zip)을 이용하는 것입니다. 마지막으로, 세번째는 Commercial 라이센스를.. 더보기 [MFC]Static Control 배경 투명화 및 글자 겹침 해결 방법 bootingWin by reiven Static Control 배경을 투명화 시키는 방법을 알아봅시다. 윈도우에 WM_CTLCOLOR 메세지 처리함수(OnCtlColor)를 만들고 아래와 같이 입력하면 됩니다.pDC->SetBkMode( TRANSPARENT ); return (HBRUSH) ::GetStockObject( NULL_BRUSH ); 위와 같이 했을때, 배경 투명화가 안되는 경우는 리소스 뷰의 컨트롤 속성에서 Transparent 속성을 True로 해주면 투명화가 적용되는 걸 볼 수 있습니다. 위에 코드에서 원하는 컨트롤만 배경 투명화를 하고 싶을때는, 아래와 같이 해주면 됩니다. if( pWnd->GetSafeHwnd() == GetDlgItem(컨트롤 ID)->m_hWnd ) { pD.. 더보기 Visual C++ CLR 사용하기 출처 : http://chaoskcuf.com/entry/TIP-Visual-C-CLR-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 Visual Studio를 C++ 컴파일러로 사용하셔도 Common Language Runtime(CLR)을 사용하시는 분은 잘 없으리라고 생각합니다. 일단 배포에도 문제가 있을테고, 굳이 C++ 프로젝트를 CLR을 사용하여 코드를 작성하기보다는 .NET Framework를 사용한다면 처음부터 C# 프로젝트로 생성하여 C#으로 작성하는 것이 훨씬 더 코드 작성에 효율적이기 때문이죠. 그리고 무엇보다도 C++ 에서 CLR 문법이 기존의 C++ 문법에 비해 생소하다는 것입니다. 그러나 CLR을 사용해서 코딩효과가 극대화 되는 경우도 있습니다. C/C++로 .. 더보기 Com Library in C++ Builder - C++ 빌더에서 Com 라이브러리, .Net라이브러리 사용하는 방법 출처 : http://www.filewiki.net/tc/41 몇 일전 올렸던 포스팅에 관련된 것이 바로 C++ Builder 였습니다. 여러모로 단점이 있음에도 불구하고 Visual Studio와 연동하면 무척 편리하게 개발을 할 수 있을것이라는 게 주요 포인트 였는데요. Windows 기반 상에서 돌아가는 프로그램을 만들기 위해선 MS의 근간기술인 COM 라이브러리나 .Net라이브러리를 불러다 쓸 수 있어야 합니다. 그런데 흔히 그렇듯 낯선 것을 만나면 사용하기 어려워 몇 번 조작을 해보다 포기하는 경우가 많죠. 그런데 검색을 몇 번 해보니 그리 어렵지 않게 사용이 가능하더군요. 어떻게 하냐구요?? 1. 일단 파일 -> 뉴 -> 패키지 메뉴를 실행하여 ActiveX 를 Wrapping 할 준비를 합시.. 더보기 현재 프로세스의 경로 가져오기 현재 프로세스의 경로가 필요할때는 아래의 함수를 사용하면 된다. DWORD GetModuleFileName( HMODULE hModule, LPSTR lpFileName, DWORD nSize ); hModule : 경로를 가져올 프로세스의 HMODULE. NULL을 입력하면 현재 프로세스의 경로를 가져온다. lpFileName : 가져온 경로를 저장할 배열(할당된 배열을 입력해야 된다) nSize : lpFileName의 크기 이 함수를 사용하기 위해서는 #include 를 include 해줘야 한다. char path[MAX_PATH] = { 0, }; GetModuleFileName( NULL, path, MAX_PATH) ; 이렇게 해주면 실행중인 프로세스의 전체경로와 파일명까지 가져온다. 여기서.. 더보기 GUID <--> String 변환 GUID와 String간의 변환 방법이다. GUID -> String int StringFromGUID2( REFGUID rguid, LPOLESTR lpsz, int cbMax ); rguid : 변환시킬 GUID 구조체 lpsz : 변환된 문자열이 저장될 배열(할당된 배열을 입력해야 된다) cbMax : lpsz의 크기 String -> GUID HRESULT CLSIDFromString( LPOLESTR lpsz, LPCLSID pclsid ); LPOLESTR lpsz : 변환시킬 GUID 문자열 LPCLSID pclsid : 변환된 GUID 구초체가 저장될 변수 더보기 이전 1 2 다음