Winapi, Не Завершается Процесс.

  • Автор темы Norden26
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

Norden26

#1
При закрытии исчезает окно, но процесс так и остается висеть в диспетчере. Никак не могу найти ошибку.

C++:
#include <windows.h>
#include <Windowsx.h>

LPCWSTR class_name = L"class name";

LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
WNDCLASSEX WndClass = {};
WndClass.cbClsExtra = 0;
WndClass.cbSize = sizeof(WndClass);
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(255,255,255));
WndClass.hCursor = LoadCursor(0, IDC_ARROW);
WndClass.hIcon = LoadIcon(0, IDI_APPLICATION);
WndClass.hIconSm = LoadIcon(0, IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = class_name;
WndClass.lpszMenuName = 0;
WndClass.style = CS_HREDRAW | CS_VREDRAW;

RegisterClassEx(&WndClass);

HWND hwnd = CreateWindowEx(0, class_name, L"Calculator", WS_VISIBLE | WS_SYSMENU | WS_BORDER | WS_ACTIVECAPTION, 200, 200, 300, 300, 0, 0, hInstance, 0);
ShowWindow(hwnd, nShowCmd);
UpdateWindow(hwnd);

MSG msg = {};
while(GetMessage(&msg, hwnd, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_CREATE:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
break;
}
return 0;
}
 
Статус
Закрыто для дальнейших ответов.