Как писать программы для Windows
Обновлено: 21.11.2024
В этом документе подробно описан процесс начала создания консольных программ на C. Консольные программы довольно просты: они вводят данные с клавиатуры (или из файла, хранящегося на диске), а вывод производят в текстовом окне консоли. Для создания программ на C вам понадобятся две вещи: текстовый редактор для написания исходного кода программы и компилятор для преобразования исходного кода в исполняемый файл, чтобы программу можно было запустить (в Windows исполняемые файлы имеют расширение ".exe"). " расширение). Мы будем использовать программное обеспечение Microsoft Visual Studio Community, которое предоставляет как мощный редактор кода, так и компилятор C (поскольку они упакованы в одно и то же программное обеспечение, это называется интегрированной средой разработки или IDE). р>
- В первом подходе мы будем использовать простой текстовый редактор (вы можете использовать любой редактор, который вам нравится) для написания исходного кода. Затем мы будем использовать «Командную строку разработчика» — среду на основе командной строки — для компиляции и запуска программы. «Командная строка разработчика» является частью программного обеспечения Visual Studio Community, поэтому нам нужно сначала установить ее.
- во втором подходе мы будем использовать интегрированные функции Visual Studio Community — мы напишем исходный код с помощью редактора кода Visual Studio Community, а затем скомпилируем и запустим программу из среды Visual Studio Community< /li>
Хорошо, приступим к установке Visual Studio Community.
Установка сообщества Visual Studio
Существует несколько разных версий Microsoft Visual Studio. Версия сообщества бесплатна и включает все необходимые библиотеки и инструменты, необходимые для разработки программ на C. Вы можете поискать в Google «Сообщество Visual Studio», чтобы узнать больше, или перейти непосредственно на соответствующую страницу на веб-сайте Microsoft:
Убедитесь, что выбрана "Windows", и нажмите кнопку "Загрузить VS Community 2017", как показано ниже:
После того как вы нажмете кнопку "Загрузить VS Community 2017", вам будет предложено сохранить файл с именем "vs_community_ . .exe" — сохраните этот файл в удобном месте, например на рабочем столе:
Просто дважды щелкните загруженный файл ("vs_community_ . .exe"). Это запустит программу установки (вам может быть предложено подтвердить «Запустить» эту программу), и в этом случае просто нажмите «Выполнить»:
Затем начнется процесс установки. При появлении запроса нажмите "Продолжить":
На первом этапе установки на ваш компьютер будет загружен ряд файлов. Вам просто нужно будет набраться терпения, пока этот этап не будет завершен:
На втором этапе установки вам будут показаны следующие параметры конфигурации. Вверху есть несколько вкладок — вам нужно только взглянуть на вкладку по умолчанию, которая называется «Рабочие нагрузки», как показано ниже.
ВАЖНО: убедитесь, что вы выбрали вариант "Разработка для настольных ПК с помощью C++", как показано ниже:
После того, как вы выберете вариант «Разработка для настольных ПК с помощью C++», вы увидите «Сводку», показанную в правой части окна, как показано ниже. Хотя некоторые из этих компонентов перечислены в разделе «Необязательный», проще всего принять все параметры по умолчанию, как выделенные. Особенно важно убедиться, что выбраны «VC++ 2017 Version. tools» и «Windows 10 SDK». Без них вы не сможете компилировать программы на C!
ВАЖНО. Прежде чем продолжить, убедитесь, что выбраны параметры "VC++ 2017 Version. tools" и "Windows 10 SDK":
Когда вы будете готовы, вы можете нажать кнопку "Установить" в правом нижнем углу окна. Это запустит установщик еще раз, и необходимые компоненты будут добавлены:
После завершения вам может быть предложено перезагрузить компьютер (нажмите "Перезагрузить"):
После перезагрузки компьютера вы должны обнаружить, что приложение Visual Studio Community установлено. Чтобы убедиться, что установка прошла успешно, вы можете попробовать запустить Visual Studio. Обратите внимание, что нет необходимости повторно запускать программу установки (это файл "vs_community_..exe", который вы скачали с сайта Microsoft). Эта программа установки больше не нужна. Вместо этого, чтобы запустить Visual Studio, вы должны выбрать его в меню «Пуск», как показано ниже:
Поскольку вы впервые запускаете Visual Studio, вам будет предложено "Войти" (просто проигнорируйте это, если хотите, нажав "Не сейчас, возможно, позже"), а затем вам будет предложено выбрать "тема" (подойдет стандартная тема "Синяя"), а затем будет небольшая задержка, пока среда настраивается в первый раз:
И, наконец, вы должны увидеть стартовую страницу сообщества Visual Studio! Поздравляем, теперь вы можете приступить к созданию своей первой программы на C!
У вас есть два варианта разработки программ на C, которые описаны ниже.
Два варианта
Отлично, теперь, когда Visual Studio Community установлен, у вас есть два варианта разработки и запуска программ C в Windows. Первый вариант предполагает использование любого текстового редактора для написания исходного кода и использование команды «cl» в командной строке разработчика для компиляции кода. Второй вариант предполагает использование Visual Studio Community в качестве среды разработки и создание «проекта» Visual Studio для организации ваших файлов.
Оба варианта описаны далее.
Вариант 1. Использование текстового редактора и командной строки разработчика для компиляции
С этой опцией мы собираемся компилировать наши программы из командной строки (используя программу под названием «Командная строка разработчика»), а не с использованием графической среды Visual Studio. Когда мы установили Visual Studio Community, мы также установили необходимые нам инструменты командной строки.
Редактирование исходного кода
Мы можем написать наш исходный код в любом текстовом редакторе, который нам нравится. В этом примере я использую текстовый редактор под названием TextPad, и вы можете видеть на диаграмме ниже, что я создал исходный файл C с именем «example.c» внутри папки с именем «MyFirstProgram», которая находится внутри каталога с именем «paul " на "C:" моего компьютера:
Компиляция и запуск программы
Чтобы скомпилировать нашу программу, мы запустим компилятор командной строки Visual Studio под названием "cl". Мы запускаем эту команду из среды, которая называется «Командная строка разработчика». Чтобы запустить Visual Studio «Командная строка разработчика», введите «Разработчик» в поле поиска в меню «Пуск», и вы должны увидеть параметр «Командная строка разработчика для VS 2017», как показано на рисунке. Нажмите на эту программу:
Вы должны увидеть новое открытое окно с заголовком "Командная строка разработчика для VS 2017". Это окно, в котором мы будем вводить команды для компиляции и выполнения нашей программы на C.
В командной строке разработчика вы можете изменить каталог, набрав:
- cd / (для перехода на верхний или корневой уровень дерева каталогов) или
- cd .. (для перехода на один уровень вверх в дереве каталогов) или
- cd DIR_NAME (чтобы перейти на один уровень вниз в каталог с именем "DIR_NAME")
Вы можете сменить диск, введя букву диска отдельно (например, чтобы переключиться на диск "E" или "E:"):
Вы можете вывести список всех файлов в текущем каталоге, набрав:
И, наконец, вы можете скомпилировать исходный файл с помощью команды:
В данном случае "example.exe" — это имя исполняемого файла, который будет создан в случае успешной компиляции кода. На приведенном ниже снимке экрана видно, что новый файл с именем «example.exe» был создан в том же каталоге, что и исходный файл.
Чтобы запустить исполняемый файл, просто введите:
что означает: "выполнить программу с именем "example", которая находится в текущем каталоге
Эти команды показаны ниже:
Вот и все — теперь вы можете редактировать исходный файл, перекомпилировать код и снова запустить программу!
Вариант 2. Использование Visual Studio Community в качестве среды разработки
Visual Studio Community – это интегрированная среда разработки. Это означает, что мы можем написать наш исходный код, скомпилировать код, запустить исполняемый файл и просмотреть результат из программы Visual Studio. Сейчас мы рассмотрим, как это сделать. Visual Studio организует программы в так называемые «Проекты». Итак, мы собираемся создать новый проект Visual Studio в папке с именем «paul» на «C:» нашего компьютера. Как видите, на данный момент эта папка пуста:
Сначала мы запускаем Visual Studio Community из меню "Пуск":
И мы создаем новый проект, выбрав «Файл > Новый проект».
Убедитесь, что вы тщательно выбрали правильный шаблон. Это должен быть «Мастер рабочего стола Windows», который можно найти, выбрав «Рабочий стол Windows» под шаблоном «Visual C++».
Как вы можете видеть в этом примере, мы назвали проект "ExampleProject" и выбрали папку "C:\paul". Кроме того, мы не отметили параметр «Создать каталог для решения»:
Затем нам показывают мастер рабочего стола Windows, который позволяет настроить наш новый проект. Мы должны убедиться, что тип приложения — консольное приложение (.exe). Мы также должны создать «пустой» проект (и оставить «Экспорт символов», «Предварительно скомпилированный заголовок» и «Проверки жизненного цикла разработки безопасности» не отмеченными). Если это правильно, нажмите "ОК"
Затем будет создан проект, и вам будет показано его графическое представление. Это показано ниже. Поскольку проект пуст, первое, что мы должны сделать, это добавить исходный файл:
Мы можем добавить исходный файл, щелкнув правой кнопкой мыши элемент "Исходные файлы" (на панели обозревателя решений) и выбрав "Добавить > Новый элемент".
Когда мы создаем наш исходный файл, очень важно, чтобы мы дали ему правильное расширение (т.е. суффикс) для файла C. Это должно быть ".c":
Затем мы можем отредактировать исходный файл, написав код непосредственно в редакторе кода Visual Studio Community:
Когда мы будем готовы скомпилировать наш исходный файл, мы можем выбрать "Сборка решения" в меню "Сборка":
Полезно иметь открытой панель «Вывод» — на диаграмме ниже панель «Вывод» отображает состояние процесса компиляции. В этом примере компиляция прошла без ошибок:
После того, как наш код успешно скомпилирован, мы можем запустить нашу программу. Лучший способ сделать это — выбрать «Запустить без отладки» в меню «Отладка». Этот параметр «Начать без отладки» добавит паузу после выполнения нашей программы, что позволит нам просмотреть вывод (пока мы не нажмем клавишу) перед закрытием окна:
И, если все прошло хорошо, мы увидим вывод нашей программы в новом командном окне:
Действительно очень полезно иметь представление о файлах, которые создает Visual Studio, и о том, где эти файлы хранятся на диске. Если вы следовали описанной здесь предложенной организации, то папка, в которой мы создали проект (в данном примере это «C:\paul»), будет содержать только одну папку с названием проекта.
Внутри этой папки "ExampleProject" будет несколько файлов, включая наш исходный файл "example.c". Одна из папок внутри "ExampleProject" называется "Debug".
Папка «Отладка» — это место, где компилятор создает фактический исполняемый файл для нашей программы. На диаграмме ниже показана организация на диске.
Теперь, если вы хотите внести изменения в свою программу, вернитесь в редактор и измените исходный файл. Чтобы снова запустить программу, ее необходимо перекомпилировать ("Сборка решения"), а затем запустить ("Запустить без отладки").
В этом модуле мы напишем минимальную настольную программу для Windows. Все, что он делает, это создает и показывает пустое окно. Эта первая программа содержит около 50 строк кода, не считая пустых строк и комментариев. Это будет наша отправная точка; позже мы добавим графику, текст, пользовательский ввод и другие функции.
Если вам нужны дополнительные сведения о том, как создать традиционное настольное приложение для Windows в Visual Studio, ознакомьтесь с Пошаговым руководством. Создание традиционного настольного приложения для Windows (C++).
Вот полный код программы:
Вы можете скачать полный проект Visual Studio из примера Windows Hello World.
Может быть полезно дать краткое описание того, что делает этот код. В последующих темах код будет рассмотрен подробно.
- wWinMain — это точка входа в программу. Когда программа запускается, она регистрирует некоторую информацию о поведении окна приложения. Одним из наиболее важных элементов является адрес функции, названной в этом примере WindowProc. Эта функция определяет поведение окна — его внешний вид, взаимодействие с пользователем и т. д.
- Затем программа создает окно и получает дескриптор, который однозначно идентифицирует окно.
- Если окно создано успешно, программа входит в цикл while. Программа остается в этом цикле, пока пользователь не закроет окно и не выйдет из приложения.
Обратите внимание, что программа не вызывает явно функцию WindowProc, хотя мы сказали, что именно здесь определяется большая часть логики приложения. Windows взаимодействует с вашей программой, передавая ей серию сообщений. Код внутри цикла while управляет этим процессом. Каждый раз, когда программа вызывает функцию DispatchMessage, она косвенно заставляет Windows вызывать функцию WindowProc один раз для каждого сообщения.
В этом пошаговом руководстве показано, как создать традиционное настольное приложение Windows в Visual Studio. Пример приложения, которое вы создадите, использует Windows API для отображения «Привет, рабочий стол Windows!» в окне. Вы можете использовать код, созданный в этом пошаговом руководстве, в качестве шаблона для создания других настольных приложений Windows.
Для краткости некоторые операторы кода в тексте опущены. В разделе "Сборка кода" в конце этого документа показан полный код.
Предпосылки
Компьютер под управлением Microsoft Windows 7 или более поздних версий. Мы рекомендуем Windows 10 или более позднюю версию для наилучшего опыта разработки.
Копия Visual Studio. Сведения о том, как загрузить и установить Visual Studio, см. в разделе Установка Visual Studio. При запуске установщика убедитесь, что установлен флажок «Разработка рабочего стола с рабочей нагрузкой C++». Не беспокойтесь, если вы не установили эту рабочую нагрузку при установке Visual Studio. Вы можете снова запустить программу установки и установить ее сейчас.
Понимание основ использования интегрированной среды разработки Visual Studio. Если вы раньше использовали настольные приложения для Windows, вы, вероятно, сможете не отставать. Введение см. в обзоре функций Visual Studio IDE.
Достаточное понимание основ языка C++, чтобы следовать ему. Не волнуйтесь, мы не делаем ничего слишком сложного.
Создать проект рабочего стола Windows
Выполните следующие действия, чтобы создать свой первый настольный проект Windows. По ходу дела вы будете вводить код работающего настольного приложения Windows. Чтобы просмотреть документацию для предпочитаемой версии Visual Studio, используйте элемент управления выбора версии. Он находится в верхней части оглавления на этой странице.
Чтобы создать проект рабочего стола Windows в Visual Studio
В главном меню выберите «Файл» > «Создать» > «Проект», чтобы открыть диалоговое окно «Создать новый проект».
В верхней части диалогового окна выберите для параметра "Язык" значение C++, для параметра "Платформа" выберите значение "Windows" и для параметра "Тип проекта" выберите значение "Рабочий стол".
В отфильтрованном списке типов проектов выберите Мастер рабочего стола Windows, затем нажмите Далее. На следующей странице введите имя проекта, например DesktopApp.
Нажмите кнопку «Создать», чтобы создать проект.
Появится диалоговое окно Windows Desktop Project. В разделе «Тип приложения» выберите «Настольное приложение (.exe)». В разделе Дополнительные параметры выберите Пустой проект. Нажмите OK, чтобы создать проект.
В обозревателе решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить", а затем выберите "Новый элемент".
В диалоговом окне "Добавить новый элемент" выберите "Файл C++ (.cpp)". В поле Имя введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь ваш проект создан, и ваш исходный файл открыт в редакторе. Чтобы продолжить, перейдите к разделу Создание кода.
Создание проекта рабочего стола Windows в Visual Studio 2017
В меню "Файл" выберите "Создать", а затем выберите "Проект".
В диалоговом окне «Новый проект» на левой панели разверните «Установлено» > «Visual C++», затем выберите «Рабочий стол Windows». На средней панели выберите Мастер рабочего стола Windows.
В поле Имя введите имя проекта, например DesktopApp. Выберите ОК.
В диалоговом окне "Проект рабочего стола Windows" в разделе "Тип приложения" выберите "Приложение Windows (.exe)". В разделе Дополнительные параметры выберите Пустой проект. Убедитесь, что Precompiled Header не выбран. Нажмите OK, чтобы создать проект.
В обозревателе решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить", а затем выберите "Новый элемент".
В диалоговом окне "Добавить новый элемент" выберите "Файл C++ (.cpp)". В поле Имя введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь ваш проект создан, и ваш исходный файл открыт в редакторе. Чтобы продолжить, перейдите к разделу Создание кода.
Создание проекта рабочего стола Windows в Visual Studio 2015
В меню "Файл" выберите "Создать", а затем выберите "Проект".
В диалоговом окне "Новый проект" на левой панели разверните "Установленные" > "Шаблоны" > Visual C++ и выберите Win32. На средней панели выберите Проект Win32.
В поле Имя введите имя проекта, например DesktopApp. Выберите ОК.
На странице "Обзор" мастера приложений Win32 нажмите "Далее".
На странице настроек приложения в разделе Тип приложения выберите Приложение Windows. В разделе «Дополнительные параметры» снимите флажок «Предварительно скомпилированный заголовок», затем выберите «Пустой проект». Нажмите «Готово», чтобы создать проект.
В обозревателе решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить", а затем выберите "Новый элемент".
В диалоговом окне "Добавить новый элемент" выберите "Файл C++ (.cpp)". В поле Имя введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь ваш проект создан, и ваш исходный файл открыт в редакторе.
Создайте код
Далее вы узнаете, как создать код для настольного приложения Windows в Visual Studio.
Чтобы запустить настольное приложение Windows
Точно так же, как каждое приложение C и приложение C++ должно иметь основную функцию в качестве отправной точки, каждое настольное приложение Windows должно иметь функцию WinMain. WinMain имеет следующий синтаксис.
Информацию о параметрах и возвращаемом значении этой функции см. в разделе Точка входа WinMain.
Что это за дополнительные слова, такие как WINAPI , CALLBACK , HINSTANCE или _In_ ? Традиционный Windows API широко использует определения типов и макросы препроцессора, чтобы абстрагироваться от некоторых деталей типов и специфичного для платформы кода, таких как соглашения о вызовах, объявления __declspec и прагмы компилятора. В Visual Studio вы можете использовать функцию IntelliSense Quick Info, чтобы увидеть, что определяют эти определения типов и макросы. Наведите указатель мыши на интересующее слово или выберите его и нажмите Ctrl+K, Ctrl+I, чтобы появилось небольшое всплывающее окно, содержащее определение. Дополнительные сведения см. в разделе Использование IntelliSense. В параметрах и возвращаемых типах часто используются аннотации SAL, помогающие выявлять ошибки программирования. Дополнительные сведения см. в разделе Использование аннотаций SAL для сокращения дефектов кода C/C++.
Для настольных программ Windows требуется . определяет макрос TCHAR, который в конечном итоге разрешается в wchar_t, если в вашем проекте определен символ UNICODE, в противном случае он разрешается в char . Если вы всегда строите с включенным UNICODE, вам не нужен TCHAR, и вы можете просто напрямую использовать wchar_t.
Наряду с функцией WinMain каждое настольное приложение Windows также должно иметь функцию оконной процедуры. Эта функция обычно называется WndProc, но вы можете назвать ее как угодно. WndProc имеет следующий синтаксис.
В этой функции вы пишете код для обработки сообщений, которые приложение получает от Windows при возникновении событий. Например, если пользователь нажимает кнопку «ОК» в вашем приложении, Windows отправит вам сообщение, и вы сможете написать код внутри своей функции WndProc, который выполняет любую подходящую работу. Это называется обработкой события. Вы обрабатываете только те события, которые имеют отношение к вашему приложению.
Дополнительную информацию см. в разделе Оконные процедуры.
Для добавления функциональности функции WinMain
В функции WinMain вы заполняете структуру типа WNDCLASSEX. Структура содержит информацию об окне: значок приложения, цвет фона окна, имя, отображаемое в строке заголовка, среди прочего. Важно отметить, что он содержит указатель функции на вашу оконную процедуру. В следующем примере показана типичная структура WNDCLASSEX.
Для получения информации о полях приведенной выше структуры см. WNDCLASSEX.
Зарегистрируйте WNDCLASSEX в Windows, чтобы он знал о вашем окне и о том, как отправлять ему сообщения. Используйте функцию RegisterClassEx и передайте структуру класса окна в качестве аргумента. Макрос _T используется, потому что мы используем тип TCHAR.
Теперь вы можете создать окно. Используйте функцию CreateWindowEx.
Эта функция возвращает HWND, который является дескриптором окна. Дескриптор чем-то похож на указатель, который Windows использует для отслеживания открытых окон. Дополнительные сведения см. в разделе Типы данных Windows.
На данный момент окно создано, но нам еще нужно сообщить Windows, чтобы оно стало видимым. Вот что делает этот код:
В отображаемом окне мало содержимого, поскольку вы еще не реализовали функцию WndProc. Другими словами, приложение еще не обрабатывает сообщения, которые ему отправляет Windows.
Чтобы обрабатывать сообщения, мы сначала добавляем цикл обработки сообщений для прослушивания сообщений, отправляемых Windows. Когда приложение получает сообщение, этот цикл отправляет его вашей функции WndProc для обработки. Цикл сообщений похож на следующий код.
Дополнительную информацию о структурах и функциях цикла обработки сообщений см. в разделах MSG, GetMessage, TranslateMessage и DispatchMessage.
На этом этапе функция WinMain должна иметь следующий код.
Для добавления функциональности функции WndProc
Чтобы функция WndProc могла обрабатывать сообщения, получаемые приложением, реализуйте оператор switch.
Одним из важных сообщений для обработки является сообщение WM_PAINT. Приложение получает сообщение WM_PAINT, когда часть его отображаемого окна должна быть обновлена. Это событие может произойти, когда пользователь перемещает окно перед вашим окном, а затем снова отодвигает его. Ваше приложение не знает, когда происходят эти события. Только Windows знает, поэтому она уведомляет ваше приложение сообщением WM_PAINT. Когда окно отображается впервые, все оно должно быть обновлено.
Чтобы обработать сообщение WM_PAINT, сначала вызовите BeginPaint, затем обработайте всю логику размещения текста, кнопок и других элементов управления в окне, а затем вызовите EndPaint.Для приложения логика между начальным вызовом и конечным вызовом отображает строку «Привет, рабочий стол Windows!» в окне. В следующем коде функция TextOut используется для отображения строки.
HDC в коде — это дескриптор контекста устройства, который используется для рисования в клиентской области окна. Используйте функции BeginPaint и EndPaint для подготовки и завершения рисования в клиентской области. BeginPaint возвращает дескриптор контекста устройства отображения, используемого для рисования в клиентской области; EndPaint завершает запрос на рисование и освобождает контекст устройства.
Приложение обычно обрабатывает множество других сообщений. Например, WM_CREATE при первом создании окна и WM_DESTROY при закрытии окна. В следующем коде показана базовая, но полная функция WndProc.
Создать код
Как и обещал, вот полный код рабочего приложения.
Чтобы построить этот пример
Удалите весь код, который вы ввели в HelloWindowsDesktop.cpp в редакторе. Скопируйте этот пример кода и вставьте его в HelloWindowsDesktop.cpp:
В меню "Сборка" выберите "Создать решение". Результаты компиляции должны появиться в окне вывода в Visual Studio.
Чтобы запустить приложение, нажмите F5. Окно с текстом «Привет, рабочий стол Windows!» должно появиться в верхнем левом углу экрана.
Поздравляем! Вы завершили это пошаговое руководство и создали традиционное настольное приложение для Windows.
Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост.
Закрыт 7 лет назад.
Я новичок в программировании и хочу написать приложение для Windows. До сих пор я читал Teach Yourself C in 24 Hours, что я должен делать (прочитать учебник) дальше, чтобы достичь своей цели? Спасибо
Странно, что этот вопрос закрыли. Ответить на него не так уж и тривиально. Вот мое предложение о том, как вы можете построить свою программу: void main(); недействительным mainInit(); недействительными mainInitClasses(); недействительными mainInitStyles(); недействительными mainInitWindows(); недействительными mainUpdateOsDevices(); void mainUpdateOsDevicesProc (HWND, int, WPARAM, LPARAM); недействительным mainUpdateOsDevice (int deviceId); Объяснение продолжается в следующем комментарии.
Итак, есть несколько вещей, которые мы решаем здесь, чтобы создать работающее приложение для Windows. mainInitWindows()-функция решает выполнение функции CreateWindow(). mainInitClasses() разрешает выполнение функции RegisterWindowEx(). mainInitStyles() находит правильные комбинации значений WS_* для различных типов окон. Объяснение продолжается в следующем комментарии.
mainUpdateOsDevices() обрабатывает пересылку сообщений, т. е. вызывает GetMessage(), TranslateMessage() и ProcessMessage(). mainUpdateOsDevicesProc() находит больше информации о текущем состоянии устройства (мыши, клавиатуры, экрана и т. д.) и представляет ее в более удобной форме, чем целые числа WPARAM/LPARAM. Он также выполняет всю необходимую предварительную обработку, такую как выполнение BeginPaint() в случае события WM_PAINT (экранного устройства). mainUpdateOsDevice(), наконец, обрабатывает изменения состояния устройства. Он обрабатывает нажатия клавиш клавиатуры, движения мыши и обновления экрана. Продолжение следует.
Обратите внимание, что у вас может быть несколько идентификаторов устройств для обновления экрана. Например, отдельный идентификатор для перерисовки hud и отдельный идентификатор для перерисовки камеры-1-вида. При вызове mainUpdateOsDevice(int deviceId) все необходимые преобразования камеры выполнены, так что вы можете сразу приступить к рисованию.
13 ответов 13
Привет, мир!
Напишите известную программу "Hello, World" (погуглите, если не уверены):
- Чтобы вывести текст на консоль.
- Чтобы вывести текст в диалоговое окно.
- Чтобы диалоговое окно появлялось после выбора пункта меню.
Тогда, если вы все еще заинтересованы:
- Напишите программу, позволяющую пользователю вводить текст в текстовое поле. Отображать этот текст в диалоговом окне после нажатия кнопки.
- Сохранить текст в файл.
- Напишите программу для чтения файла и отображения его содержимого в окне.
Это должно помочь вам начать изучение основ того, что происходит при написании приложения для Windows.
Кроме того, прочитайте все ссылки, которые люди рекомендуют вам прочитать, в этой теме и других.
Старый и новый
На данный момент это действительно зависит от ваших целей. Если все, что вы хотите сделать, это написать приложение для Windows, то используйте современные технологии, которые лучше подходят для такой задачи. Если вы хотите написать приложение для Windows с пониманием того, как писать приложения в целом (не обязательно только для Windows), тогда продолжайте пока следовать пути C и переходите к другим технологиям по мере расширения своих знаний.
Вы можете использовать Ubercode для написания приложений (программ) для Windows. Начать легко, а результаты вы получите уже через десять минут! Этот раздел содержит краткое введение в Ubercode.
Как выглядит Ubercode?
Посмотрите на Ubercode, запустив среду разработчика:
Среда разработчика — это центр управления для написания программ, разработки форм (диалогов) и компиляции их в EXE-файлы. На приведенном выше рисунке показано главное меню в верхней части экрана, окно программы справа, в котором перечислены все файлы программы, и редактор для ввода программ. На странице скриншотов есть больше изображений.
Что особенного в Ubercode?
- Ubercode — это язык высокого уровня, что означает, что вы тратите больше времени на продуктивное программирование и меньше времени на языковые мелочи. Это экономит время и упрощает программирование.
- Ubercode надежен. Он включает функции безопасности, такие как автоматическое управление памятью, автоматическая обработка файлов и окон, а также автоматическая обработка ошибок, которая перехватывает все ошибки.
- Ubercode имеет современный внешний вид. Он использует темы для Windows XP, и тот же код надежно работает в более ранних версиях Windows.
- Ubercode намного проще в использовании, чем Visual Basic, C++ и Delphi (см. раздел Изучайте программирование — какой язык?). Это делает его идеальным для начинающих.
- Ubercode устанавливается быстро, без активации продукта или регистрации в Интернете. После загрузки пробного пакета вы сможете приступить к работе уже через десять минут!
- Ubercode включает полные инструкции и качественное печатное руководство. Вы можете нажать F1 на любой языковой команде и получить помощь в течение нескольких секунд, и для каждой команды есть примеры программ.
- Ubercode эффективен для быстрых программ, поскольку использует компилятор.
- Ubercode создает стандартные EXE-файлы (программы) для Windows.
- С помощью профессионального пакета Ubercode можно легко развертывать программы, работающие во всех версиях Windows. Программы Ubercode можно добавлять и удалять без усугубления побочных эффектов.
- Ubercode позволяет избежать «ада DLL», «ада фреймворков» и проблемных библиотек DLL MFC.
- В интуитивно понятной среде разработчика есть все необходимое для написания и отладки программ. Это оставляет ваш рабочий стол свободным и не загроможденным.
- Ubercode включает более 250 полностью протестированных примеров программ на диске и в файлах справки.
Этот список является лишь обзором. Подробную информацию см. в разделе Создание программного обеспечения с помощью Ubercode.
С чем сравнивается Ubercode?
Подробное сравнение см. в матрице функций, а дополнительные сведения об Ubercode — в технических спецификациях.
Читайте также: