http://sjpison.tistory.com/68 에서 펌 ------------------------------------------------------------------ 이 문제를 왜 고민하게 됐는고 하니… SendMessage를 사용하려고 하는데 자신보다 권한이 높게 설정된 프로그램에는 메시지를 보낼 수 없는 문제가 생겼습니다. UAC라고… 윈도우 Vista에 추가된 그 기능 때문에 프로그래머들은 한층 더 골치가 아프게 됐네요. 구글링도 해보고 여러가지 방법을 찾던 차에 매니페스트를 추가하면 된다는 사실을 알게 됐습니다. 그리고 VS2008부터 생긴 기능인지는 모르지만(전에는 고민해 본적이 없으니까요) 매니페스트를 VS자체에서 추가할 수 있더군요. 제가 검색했던 다른 사이트들은 mt.exe..
3. make 강좌 3.1 머릿말 소스 한두 개로 이루어진 C/C++ 언어 교양과목 과제물을 제출하는 것이 아니라면 약간만 프로젝트가 커져도 소스는 감당할 수 없을 정도로 불어나게 되고 그것을 일일이 gcc 명령행 방식으로 처리한다는 것은 상당히 곤역스러운 일입니다. 그래서 하나의 프로젝트를 효율적으로 관리하고 일관성있게 관리하기 위하여 Makefile 이라는 형식을 사용하고 make 라는 유틸리티를 사용합니다. 여러분이 리눅스에서 소스 형태로 되어 있는 것을 가져와서 컴파일하게 되면 보통 마지막에는 make 라는 명령, 또는 make 이런 식으로 치게 됩니다. make 라는 유틸리티는 보통 현재 디렉토리에 Makefile 또는 makefile 이라는 일정한 규칙을 준수하여 만든 화일의 내용을 읽어서 목..
변수 명명법 cb Count of Bytes 바이트 수 dw double word long형 정수 h handle 핸들 sz Null Terminated NULL 종료 문자열 ch Character 문자형 a Array 배열 w Word 부호없는 정수형 i integer 정수형 p,lp long pointer 포인터형 b Bool 논리형 핸들이란? 정수값 대부분의 경우 32비트값. 운영체제가 발급하며 사용자는 쓰기만 한다. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다. 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다. 유니코드 16비트의 단일한 값으로 지구상의 모든 문자를 표현할 수 있는 문자 코드 체계. C언어의 타입을 바로 쓰지 말고 유니코드 설정에 따라 변경되는 중간..
#include #include #include /*for _beginthreadex, _endthreadex*/ #pragma comment( lib, "ws2_32" ) unsigned WINAPI ThreadFunction(void* arg); int main(int argc, char** argv) { HANDLE hThread; DWORD dwThreadID; hThread = (HANDLE)_beginthreadex(NULL, 0, ThreadFunction, NULL, 0, (unsigned*)&dwThreadID); if(hThread == 0) { puts("_beginthreadex() error"); exit(1); } printf("생성된 쓰레드의 핸들 : %d \n",hThread..
1) 컴파일러(compiler) 2) 링커(linker) 3) 에디터(Editor) 4) 헤더파일 및 라이브러리 4) 예제 및 기본 골격(Skeleton) 5) 디버거(Debugger) 등의 요소들이 드라이버를 개발하는있어서 필요한 기본적인 요소들이 된다. 이들은 각각 다음[표1-1 구성요소]와 같은 곳에서 구할수 있고 이를 기본으로 해서 드라이버를 개발하게 된다. OS Win9x WinNT4.0 Win2000 XP 비고 Compiler VC++ VC++ VC++ VC++ or DDK Linker VC++ VC++ VC++ VC++ or DDK .h / .lib DDK DDK DDK DDK Skeleton DDK DDK DDK DDK Debugger DDK or SoftIce DDK or SoftIce ..
WM_MOUSEWHEEL은 그냥 선언한다고 되지 않아요. windows.h안의 WM_MOUSEWHEEL부분의 정의를 보면 #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) #define WM_MOUSEWHEEL 0x020A #endif 이렇게 되어있습니다. 따라서 stdafx.h에 보통 선언되어있는 #ifndef _WIN32_WINNT // Windows XP 이상에서만 기능을 사용할 수 있습니다. #define _WIN32_WINNT 0x0501 // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오. #endif 이부분에서 WINNT뒤의 값을 잘 조정해야겠지요~~ 보통 default값을 #ifndef WINVER // Windows..
제작환경 Visual Studio 2005 C++/Win32 API 그림을 확대/축소할 때 스무스하게 이루어지도록 코딩했습니다. 더블버퍼링 예제로도 도움이 될거에요. 감사합니다. 주요코드 case WM_TIMER: switch(wParam) { case 1: if(nSampleWidth != nDestWidth) { if(bZoomMode) { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth+=(nCntWidth/7); } else { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth-=(nCntWidth/7); } } if(nSampleHeight != nDestHeight) { if(bZoomMo..
- Total
- Today
- Yesterday
- 안드로이드
- driver
- Python
- NDK
- db
- winapi
- source
- 음악
- API
- 프로그래밍
- C
- gcc
- 리눅스
- java
- Troubleshooting
- linux
- AWS
- MFC
- android
- database
- jni
- C++
- 드라이버
- jni강좌
- kering
- it
- algorithm
- Quiz
- Visual C++
- Cloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |