20 сентября 2023

Delphi 12. Заголовки Windows API сгенерированные из Win32Metadata

    В январе 2021 года компания Microsoft представила на GitHub свой новый проект Win32Metadata. Его цель – создать полное описание Windows API в виде файла метаданных Windows.Win32.winmd, который позволяют автоматически переводить заголовки его модулей на любые языки программирования. В рамках проекта Microsoft реализовала инструмент для перевода заголовков Win32 API на C# и Rust, а сообщество разработчиков реализовало его для Beef, D, Dart, Python и Zig. Вот теперь в Embarcadero разработали подобный конвертор для перевода заголовков Win32 API на Delphi.
    Первая версия заголовков Win32 API полученная из Windows.Win32.winmd доступна в GetIt Delphi 12 под названием "Windows API from WinMD" (возможно позже название изменится). Этот пакет устанавливается в папку
C:\Users\<имя>\Documents\Embarcadero\Studio\23.0\CatalogRepository\WindowsAPIfromWinMD-1.0
и содержит 311 файлов с заголовками Win32 API на Delphi общим размером 41 МБ.
Delphi 12 GetIt 'Windows API from WinMD'
Эти новые заголовки, по сравнению с доступными в RTL, намного более обширны и охватывают все последние API. В будущем их планируется включить в RTL.

5 комментариев:

  1. скинь сюда ссылку на файлы без всяких гетитов

    ОтветитьУдалить
    Ответы
    1. Можешь воспользоваться моим инструментом и качать архивы пакетов из Get it напрямую. При чем для конкретной версии
      https://github.com/HemulGM/HGMGetIt

      Не забудьте в hosts убрать из перенаправление урлы с текстом getit.*

      Удалить
    2. о здоров я тя знаю :) не запускается в 10ке
      ---------------------------
      Application Error
      ---------------------------
      Exception ERegistryException in module HGetIt.exe at 005D58E1.

      Failed to get data for 'AppsUseLightTheme'.


      ---------------------------
      ОК
      ---------------------------

      Удалить
    3. Большое тебе человеческое спасибо!

      Удалить
    4. WindowsAPIfromWinMD-1.0.7z https://mega.nz/file/V7RVhCoC#-R7-hKL1Ruk4BfKR5FaH8jBgO56CwA3LDR1J6QXo61w

      Удалить