по поводу оригинальности

Данный текст немного сгенерирован chat-gpt 3.5

Но большая часть текста - моя

Если вы читаете эту статью - значит вы уже подучили с++ и интересуетесь разработкой под Windows

Следующая часть будет уже сложнее.

WinAPI (Windows Application Programming Interface) является набором функций и процедур, предоставляемых операционной системой Windows для разработки приложений. В этой статье мы рассмотрим основные принципы работы с WinAPI.

WinAPI обеспечивает доступ к функциям операционной системы Windows, таких как создание окон, управление ресурсами, работа с файлами, реагирование на события и еще многое другое. Чтобы начать разработку приложений с использованием WinAPI, необходимо знать несколько основных понятий и функций.

Основным элементом приложения, создаваемого с помощью WinAPI, является окно(не всегда). Для создания окна необходимо определить его характеристики, такие как размер, положение на экране и обработчик событий. Обработчик событий позволяет приложению реагировать на действия пользователя, например, нажатие кнопки мыши или нажатие клавиши.

После создания окна приложение переходит в цикл обработки сообщений, который прослушивает и обрабатывает события которые происходящие в окне. В цикле обработки сообщений мы можем реализовать логику нашего приложения.

WinAPI также предоставляет множество других функций и возможностей, таких как работа с ресурсами (иконки, курсоры, меню), рисование на экране, использование диалоговых окон и многое другое.

В этой статье мы рассмотрели лишь базовые принципы работы с WinAPI. Для изучения более сложных возможностей WinAPI рекомендуется обратиться к официальной документации и руководствам на других сайтах по программированию на WinAPI.

В заключение, WinAPI является мощным инструментом для разработки Windows-приложений. Он предоставляет разработчикам доступ к функциям операционной системы Windows и позволяет создавать приложения для операционных систем Windows в то время как UWP приложения может только на Windows 10+ запускаться.

И кстати: в рамках WinAPI вы также можете создавать приложения с использованием Direct3D , этот графический API разработанным для работы с трехмерной графикой. Direct3D позволяет разработчикам создавать и управлять 3D-графикой в WinApi-приложениях.

Автор: makwd

Комментарии (39)


  1. YegorP
    18.06.2023 09:20
    +5

    А можно diff того, что было сгенерировано, и того, что было в итоге опубликовано?


    1. Eugeny1987
      18.06.2023 09:20
      +1

      Данный текст немного сгенерирован chat-gpt 3.5

      Но большая часть текста - моя

      вероятно, эта часть текста его


      1. pererat_rs
        18.06.2023 09:20

        Автор данной статьи профессионально воспользовался ChatGPT, чтобы создать текст высокого уровня с дополнительными примерами. Однако, можно предположить, что он не является экспертом в данной теме.

        AUTHOR: ChatGPT


  1. vasyakolobok77
    18.06.2023 09:20
    +13

    И в чем полезность этой статьи для сообщества хабра?


    1. aegoroff
      18.06.2023 09:20
      +4

      Еще смешнее то, что ее 6 человек добавили в закладки :)


      1. NixGuy
        18.06.2023 09:20
        +5

        Скорей всего, добавили, чтобы позже прочитать статью.


      1. Paranoich
        18.06.2023 09:20
        +2

        В таких статьях обычно комментарии интереснее тела статьи. А комментарии не сразу возникают. Хотя пожалуй к этой статье и комментарии суперполезными быть не могут.


  1. Einherjar
    18.06.2023 09:20
    +2

    А это вы писали две исчезнувшие статьи про введение в создание игровых движков описывающие создание пустого окна на winapi? Там хоть какая то информация была, а это вообще рыба-текст какой-то. В чем суть постить одно и то же третий раз, с каждым разом ухудшая?


    1. pererat_rs
      18.06.2023 09:20
      +1

      ну автор не вывез direct3d, и теперь он лишь low level winapi empty window senior developer)) я помню года 3 назад пытался direct3d игру сделать на плюсах, в итоге я написал игру - прыгающий шар с direct2d по туториалу индуса. я автору советую использовать opengl для движка, он легче)


  1. Z55
    18.06.2023 09:20
    +12

    Я думал это вступление, а это оказывается вся статья. В чём её смысл? Ещё и списанная у чатгпт...


    1. Lex20
      18.06.2023 09:20

      Там же написано, ChatGPT статью сгенерил (:


    1. qw1
      18.06.2023 09:20
      +1

      В чём её смысл?

      В получении "полноценного" хабрааккаунта. Ну теперь чат может генерить статьи, проходящие модерацию, если модератор особо не вчитывается.


      1. Einherjar
        18.06.2023 09:20

        Первая статья автора как раз была ещё более менее, в кеше гугла найти можно.


      1. Z55
        18.06.2023 09:20
        +2

        Вот кстати, тоже вопрос: как это могло пройти модерацию? Статья - пустышка.


        1. grvelvet
          18.06.2023 09:20
          +3

          Модератор тоже бот наверное


          1. Exosphere
            18.06.2023 09:20

            А то!


        1. Exosphere
          18.06.2023 09:20

          Автор не получал инвайт за эту статью. Инвайт он получил за другую, более адекватную (которую по неизвестным причинам скрыл в черновики).


  1. delphinpro
    18.06.2023 09:20
    +1

    Для небольших заметок создали раздел "Посты"


    1. grvelvet
      18.06.2023 09:20
      +4

      Этому даже в постах делать нечего.


  1. Mox
    18.06.2023 09:20
    +5

    Честно говоря опасаюсь что скоро интернет будет завален подобными статьями.

    Проблема здесь (на мой взгляд)в том, что здесь нет ни опыта автора, ни полезной информации.


    1. Lex20
      18.06.2023 09:20
      +1

      Это скоро наступило вчера. Вот ещё характерная статья https://habr.com/ru/articles/742314/


    1. ZekaVasch
      18.06.2023 09:20

      Сначала в интернет пришли smmщики и наполнили его однообразной копипастой с рекламой. Потом наполнение текстов автоматизировали нейросетями.


    1. vin2809
      18.06.2023 09:20

      Согласен, да и букв для статьи маловато...


  1. vvviperrr
    18.06.2023 09:20
    +1

    давай уже классику бомби, как поменять имя кнопки пуск и сделать убегающую от курсора кнопку


  1. rezdm
    18.06.2023 09:20
    +5

    "Вот и выросло поколение".

    Когда-то "библией winapi разработки" были книжки Рихтер, Solomon&Russinovich. Полагаю, что и сейчас можно взять теперь уже древнюю книжку Рихтера и спокойно шаг за шаком повторить начала из книги, или прямо мсдн https://learn.microsoft.com/en-us/windows/win32/learnwin32/winmain--the-application-entry-point

    А эта "заметка" не тянет даже на intro в тему.


    1. hippowdon
      18.06.2023 09:20
      +1

      Чарльза Петцольда не забудьте. Windows programming - все про GUI


      1. Malizia
        18.06.2023 09:20

        И два тома Windows Internals для полного счастья.

        Upd: наверное, автор выше про них и написал.


        1. odisseylm
          18.06.2023 09:20

          Лучше Дж Рихтера ))


    1. starfair
      18.06.2023 09:20

      А я бы порекомендовал еще Фень Юань "Программирование графики на Windows". Ничего более глубокого и толкового описывающего внутреннюю структур работы графики на WinAPI я не встречал с тех пор! Подробно, но не занудно и очень глубоко.


      1. Malizia
        18.06.2023 09:20

        Когда писал конвертер EMF to PDF, долго искал эту книгу.


  1. diakin
    18.06.2023 09:20
    +1

    "WinAPI за 2 минуты"


  1. vvviperrr
    18.06.2023 09:20
    -5

    введение в winapi для дотнет программистов


    1. vvviperrr
      18.06.2023 09:20

      видимо тонковато


  1. vilgeforce
    18.06.2023 09:20

    Я не очень понимаю при чем тут C++, ведь WinAPI оно сишечное. Если, конечно, COM не брать


    1. makwd Автор
      18.06.2023 09:20
      -2

      винапи на с++ и есть,ну ладно


      1. vilgeforce
        18.06.2023 09:20
        +3

        При этом интерфейс (буква I в слове API) - сишный. Параметры API-функций - не объекты, в лучшем случае структуры. Классы есть при работе с технологией COM.

        Второй аргумент: name mangling в виндовых DLL - сишный. Если загрузить kernel32.dll в IDA, она подтащит символы с микрософтовских серверов и покажет "истинные" имена функций. И будет там _GetShortPathNameW@12 - это не плюсовый mangling, а сишный.
        Хотя, некоторые внутренние функции, судя опять же по манглингу, писались на плюсах.


      1. pererat_rs
        18.06.2023 09:20

        Я посчитал и тут примерно половина статьи с акцентом чатгпт, а остальное видно что писал автор. По тому что он пишет можно понять что он только знакомится с винапи, и не знает что-то кроме окон.


  1. anonymous
    18.06.2023 09:20

    НЛО прилетело и опубликовало эту надпись здесь


  1. odisseylm
    18.06.2023 09:20
    +2

    Ээээ... Я так понимаю никакого модератора статей на хабре нет ((( Печалька, дети какую-то херню постят (про COM аналогичная статья была месяц назад, правда с картинкой)
    Автор или модератор, удалите этот треш, пожалуйста!