win32프로젝트를 ctrl f5로 실행시키는 방법에 대한 질문입니다

제가 win32의 기본 소스코드를 작성했습니다

그리고 ctrl f5로 실행했는데 쓰기용으로 열수 없다고 오류가 났습니다

그래서 인터넷에서 해결방법을 찾고 시도해 봤는데

이미 해당 exe가 실행중 이라서 실행이 않되는 것이라고

실행을 중지하고 다시 하면 된다고 나와있는데

아무것도 실행중이 아닌데도 실행이 되지 않아서 질문드립니다

그리고 기본코드는 아래와 같이 작성했습니다

코드는 아무 문제가 없는거 같은데 실행이 되질 안네요…

#include <Windows.h>

LRESULT WINAPI WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) {

	switch (message) {

	case WM_PAINT:
		PAINTSTRUCT ps;
		HDC hdc;

		hdc = BeginPaint(hwnd, &ps);

		EndPaint(hwnd, &ps);
		break;

	case WM_DESTROY:

		PostQuitMessage(0);
		break;

	default:
		DefWindowProc(hwnd, message, wparam, lparam);
		break;
	}

	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

	HWND hwnd;
	MSG msg;

	WNDCLASSEX wcex;
	wcex.cbSize = sizeof(wcex);
	wcex.style = CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc = WndProc;
	wcex.cbClsExtra = 0;
	wcex.cbWndExtra = 0;
	wcex.hInstance = hInstance;
	wcex.hIcon = LoadIcon(wcex.hInstance, IDI_APPLICATION);
	wcex.hCursor = LoadCursor(wcex.hInstance, IDC_ARROW);
	wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
	wcex.lpszMenuName = NULL;
	wcex.lpszClassName = "hello";
	wcex.hIconSm = LoadIcon(wcex.hInstance, IDI_APPLICATION);

	RegisterClassEx(&wcex);

	hwnd = CreateWindow("hello", "Test Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, hInstance, NULL);

	ShowWindow(hwnd, SW_SHOW);

	UpdateWindow(hwnd);

	while (GetMessage(&msg, NULL, 0, 0)) {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return 0;
}

안녕하세요.

혹시 pc 재부팅 해보셨나요?

1 Like

아 죄송합니다 지금 다시보니


저렇게 1줄에서 오류가 났는데 혹시 Windows.h를 사용할수 없다는 뜻인가요?

인터넷 찾아볼때는 딱히 문제없이 잘 사용하는거 같던데

죄송합니다

네 재부팅도 해봤습니다…

아뇨 그 오류는 아니구요. 파일을 쓰기용으로 링커가 열지 못해서 생기는 오류에요.

실행중이거나 파일에 락이 걸려있으면 수정이 안되서 그런거입니당

그렇군요 혹시 해결방법 없을까요?

저의 경우에는 재부팅하면 해결되더라구요

그렇군요 감사합니다

제가 코드를 잘못 작성했던 것이더군요

이전까지는 WndProc의 switch의 default부분을

DefWindowProc(hwnd, message, wparam, lparam);
break;

라고 했는데

return DefWindowProc(hwnd, message, wparam, lparam);

다음과 같이 하니 윈도우가 잘 출력됩니다 감사합니다