> Джентльмены ! Я уверен что решение обязательно найдётся. > Исправил две ошибки указанные в предыдущем сообщении - > результата по прежнему нет. Спасибо за помощь.
Во избежание таких ошибок частенько структуру перед инициализацией заполняют нулями (memset). Короче, вот рабочий вариант:
#include "Windows.h"
LRESULT CALLBACK
WindowFunc(HWND, UINT, WPARAM, LPARAM);
char *szWinName = "Простое окно";
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hWnd;
MSG msg;
WNDCLASS wc1;
wc1.hInstance = hInstance;
wc1.lpszClassName = szWinName;
wc1.lpfnWndProc = WindowFunc;
wc1.style = 0;
wc1.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc1.hCursor = LoadCursor(NULL, IDC_ARROW);
wc1.lpszMenuName = NULL;
wc1.cbClsExtra = 0;
wc1.cbWndExtra = 0;
wc1.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wc1))
return 0;
hWnd = CreateWindow(szWinName, "Win32 API приложение", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
HWND_DESKTOP, NULL, hInstance, NULL);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK
WindowFunc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
switch(iMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, iMsg, wParam, lParam);
}
return 0;
}
---
--------------
Да, и theApp здесь ни при чем. Это не MFC приложение
|