progs.biz  
Начало>WinAPI>API>Урок 1
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

М. Фленов. Программирование на C++ глазами хакера
М. Фленов. Программирование на C++ глазами хакера
Заказать на Озоне



Яндекс-цитирования

Windows API
Урок 1. Минимальная программа под Windows

На этом уроке мы с вами создадим простейшую программу под Windows. Вообще в программировании есть традиция - начинать изучение с "Hello world". Аналогом такой пограммы будет являться наша - простое окошко.

Итак, создайте в любой IDE (Visual C++, C++ Builder) для C++ пустой проект типа Win32. В Visual C++, например, для этого нажимаем Ctrl+N, выбираем тип проекта Win32 Application, после чего нажимаем на Finish и OK (не меняя параметры по умолчанию), потом добавляем в проект *.cpp-файл. В файле введите следующий текст:

#include <windows.h>
LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
    HWND hwnd;
    MSG msg;
    WNDCLASS w;
    memset(&w, 0, sizeof(WNDCLASS));
    w.style = CS_HREDRAW | CS_VREDRAW;
    w.lpfnWndProc = WndProc;
    w.hInstance = hInstance;
    w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    w.lpszClassName = "My Class";
    RegisterClass(&w);
    hwnd = CreateWindow("My Class", "My title", WS_OVERLAPPEDWINDOW,
        300, 200, 200, 180, NULL, NULL, hInstance, NULL);
    ShowWindow(hwnd,nCmdShow);
    UpdateWindow(hwnd);
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
    switch (Message){
    case WM_DESTROY: 
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hwnd, Message, wparam, lparam);
    }
    return 0;
}

Компилируем и запускаем программу (Ctrl+F5) в Visual C++. Если ошибок нет, то должно появиться окно. Просто окно.

На следующем уроке мы разберем приведенный на этом уроке текст, а пока все.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев