win32 api 프로그래밍 질문입니다.
#include
#include
#include"resource.h"
#define T _T
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) {
int answer;
switch (iMsg) {
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case ID_FILENEW:
MessageBox(hwnd, T("새 파일 열겠습니까?"), T("새파일 선택"), MB_OKCANCEL);
break;
case ID_EXIT:
answer = MessageBox(hwnd, T("끝냅니다"), T("종료"), MB_YESNOCANCEL);
if (answer == IDYES)
PostQuitMessage(0);
break;
}
break;
case WM_CREATE:
break;
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE prevhinstance,
LPSTR lpszCmdLine, int nCmdShow) {
HWND hwnd;
MSG msg;
WNDCLASS wnd;
wnd.style = CS_VREDRAW | CS_HREDRAW;
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wnd.hCursor = LoadCursor(NULL, IDC_ARROW);
wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wnd.hInstance = hinstance;
wnd.lpfnWndProc = WndProc;
wnd.lpszMenuName = MAKEINTRESOURCE(IDR_MENU4_1);
wnd.lpszClassName = _T("WINDOW PLEASE!");
RegisterClass(&wnd);
hwnd = CreateWindow(_T("WINDOW PLEASE!"), _T("WINDOW PLEASE!"), WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hinstance, NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg, hwnd, NULL, NULL)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
이런식으로 코드를 짰는데
x버튼을 눌러 종료를 해도 완전히 종료되지않고 프로세서에 남고
또 상단 메뉴에서 종료버튼을 눌러 종료하려고해도 이번엔 프로그램조차 종료가 안되네요
이제 첫걸음을 땐것이라 무엇이 문제인지 모르겠습니다.
api프로그래밍 상당히 어렵네요.. 고수분들 답변 부탁드립니다!
어려운 시기네요. ㅇ_ㅇ;;
가장 쉬운 방법은
1. 잘 되는 예제를 따라하는겁니다. (책'이나. 기업제휴. Open API. Open Source. SDK. 돈으로 구입. 대여.)
2. 일단. 잘 되면. 안되는 코드와 어떤점이 다른지 비교하는 방법이 있습니다. (오래 걸립니다.)
Visual Studio 에서 기본 프로젝트 만드시면. 그거 사용하시면 됩니다.
국비 직업학교'에서 지원해주는 경우도 있었는데. 요즘은 어떤지 모르겠네요.
- Visual C++
- Windows Programming
학원이나 사이버 교육을 받는 방법도 있습니다.
Win 32 API 에 대한 설명은 여기 있고.
http://soen.kr/
가남사 WINDOWS API 정복'이 보고 따라하기 좋습니다.
찰스 페졸드의 윈도우즈 프로그래밍'도 좋습니다.
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=win32+api
코드 프로젝트'에는 MFC 관련 예제가 많이 있습니다.
http://www.codeproject.com/
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
소스코드는 code 태그 안에.
소스코드는 code 태그 안에.
세벌 https://sebuls.blogspot.kr/
WM_DESTROY
https://msdn.microsoft.com/en-us/library/windows/desktop/ms632620(v=vs.85).aspx
case WM_DESTROY:
PostQuitMessage(0);
return 0;
댓글 달기