본문 바로가기

Application Programming Interface/Windows API

갈아 만든 Windows API - #3 Hello, World! 갈아 만든 Windows API #3 Hello, World! tapitolife(dkhighest@naver.com) 원본 소스 보기 #include HINSTANCE g_hInstance; TCHAR szClassName[] = TEXT("TAPITO WinAPI Example"); TCHAR szWindowName[] = TEXT("TAPITO Windows API Example #1"); LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShow.. 더보기
갈아 만든 Windows API - #2. 창 배경색 수정하기 갈아 만든 Windows API #2. 창 배경색 수정하기 tapitolife (dkhighest@naver.com) 1. 원본 소스 보기 #include HINSTANCE g_hInstance; TCHAR szClassName[] = TEXT("TAPITO WinAPI Example"); TCHAR szWindowName[] = TEXT("TAPITO Windows API Example #1"); LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nSh.. 더보기
갈아만든 Windows API - #1. 도스와는 많이 다른 윈도우 프로그램 - #1. 도스와는 많이 다른 윈도우 프로그램 – Windows 프로그래밍은 도스에서 하던 것과는 다릅니다. 그것도 심하게. 확연히. 도스와 Windows의 가장 근본적인 차이는 바로 Multi-Tasking! 여러 프로그램이 동시에 실행된다는 것이죠. 제가 공부하면서 느꼈던 Windows 프로그래밍은 위와 같다고나 할까요? 도스 프로그래밍에서 자주 등장하는 공통된 내용이 "내가 직접 루프 구문 돌려서 배열 처리하는 거"였다면, 윈도우 프로그래밍에서는 "항상 긴장하고 있다가 어디서 튀어나올 지 모르는 탁구공(=메시지)을 받아 쳐야 하는" 것 같습니다. 매우 길어지고 많아진 온갖 파라미터들은 말할 것도 없죠. 후덜덜…… /* winmain.c */ #include HINSTANCE g_hInstance; .. 더보기
기능별로 묶어보는 레지스트리 함수 – 5편. 값의 조회/추가/수정/삭제 기능별로 묶어보는 레지스트리 함수. 5편. 값의 조회/추가/수정/삭제 - by Tapitolife 기본 값을 다뤄 보았다면 이제 이름을 갖는 다양한 형식의 값을 다뤄봅니다. — RegEnumValue 지정한 키가 가지고 있는 모든 값의 이름들을 가져옵니다. LONG WINAPI RegEnumValue( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpValueName, __inout LPDWORD lpcchValueName, __reserved LPDWORD lpReserved, __out_opt LPDWORD lpType, __out_opt LPBYTE lpData, __inout_opt LPDWORD lpcbData ); ○ hKey: 값들의 이름을 조회할 .. 더보기
기능별로 묶어보는 레지스트리 함수 – 4편. 기본값의 조회/수정 기능별로 묶어보는 레지스트리 함수. 4편. 기본값의 조회/수정 - by Tapitolife 키의 기본적인 조작을 해 보았다면 이제 기본 값을 다뤄봅니다. 기본 값이란 레지스트리 편집기 상에 나타나는 키(Key)가 갖고 있는 여러 개의 값 중에 이름이 없이 그냥 (기본 값)이라고만 나와 있는 것 문자열 형식의 값입니다. 뭐 이런 거죠 기본 값을 다루는 함수에는 다음과 같은 것이 있습니다. — RegQueryValue 지정한 키의 기본 값을 가져옵니다. LONG WINAPI RegQueryValue( __in HKEY hKey, __in_opt LPCTSTR lpSubKey, __out_opt LPTSTR lpValue, __inout_opt PLONG lpcbValue ); ○ hKey: 기본 값을 가져올.. 더보기
기능별로 묶어보는 레지스트리 함수 – 3편. 키의 조회/생성/삭제 기능별로 묶어보는 레지스트리 함수. 3편. 키의 조회/생성/삭제 - by Tapitolife (이 포스팅은 다음과 같은 사이트를 참고하여 작성되었습니다.) MSDN Registry Functions (Windows): http://msdn.microsoft.com/en-us/library/ms724875(v=VS.85).aspx 키를 열고 닫아 보았다면, 이제 그 사이에 뭔가를 해 봐야겠죠. ㅋㅋ 이번에는 서브키들의 목록을 조회하고, 생성/삭제를 해 봅니다. — RegEnumKey 지정한 키의 서브키들을 조회합니다. LONG WINAPI RegEnumKey( __in HKEY hKey, __in DWORD dwIndex, __out LPTSTR lpName, __in DWORD cchName ); ○ h.. 더보기
기능별로 묶어보는 레지스트리 함수 – 2편. 키의 열기/닫기 기능별로 묶어보는 레지스트리 함수. 2편. 키의 열기/닫기 - by Tapitolife (이 포스팅은 다음과 같은 사이트를 참고하여 작성되었습니다.) MSDN Registry Functions (Windows): http://msdn.microsoft.com/en-us/library/ms724875(v=VS.85).aspx 아래 함수는 키의 열고 닫기를 수행하는 기본적인 함수입니다. 파일을 다루기 위해서는 스트림을 통해 특정 파일을 열고, 작업하고, 닫는 것처럼 레지스트리도 '키'의 단위로 열고, 작업하고, 닫는 순서로 다뤄주시면 되겠습니다. — RegOpenKey 지정한 위치의 키를 엽니다. LONG WINAPI RegOpenKey( __in HKEY hKey, __in_opt LPCTSTR lpSub.. 더보기
기능별로 묶어보는 레지스트리 함수 – 1편. 완전 간단 레지스트리 소개 기능별로 묶어보는 레지스트리 함수. 1편. 완전 간단 레지스트리 소개 - by Tapitolife 레지스트리는 다음과 같이 구성 되어 있습니다. ▶ 키(Key): 일종의 폴더라고 보면 됩니다. 5개의 기본 키가 있으며 그 아래 트리 구조로 서브키들이 있습니다. 5개의 기본 키는 각각 다음과 같은 용도로 쓰입니다. * HKEY_CLASSES_ROOT: (약칭 HKCR) 파일 확장명과 그 확장명에 대한 연결 프로그램을 다룹니다. * HKEY_CURRENT_USER: (약칭 HKCU) 사용자가 구성한 윈도우 환경이 저장됩니다. 예를 들면, 효과음, 내게 필요한 옵션과 같은 주로 제어판에서 설정한 것들이 여기에 저장되죠. * HKEY_LOCAL_MACHINE: (약칭 HKLM) 윈도우 부팅에 필요한 장치 정보들.. 더보기