home.social

#win32 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #win32, aggregated by home.social.

  1. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  2. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  3. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  4. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  5. [Перевод] Win32 API и ностальгия по окнам странной формы

    Я по горло сыт стандартно выглядящими приложениями. Сегодня все десктопные приложения Windows выглядят одинаково, да и внутри устроены одинаково: их создают на основе дурацких браузерных обёрток React, Electron, electronbun и Tauri, имитирующих реальные десктопные приложения. Они медленно работают и занимают кучу памяти — по сути, это bloatware. Блокнот — это, блин, приложение для простых ЗАМЕТОК, а не замена Word, калькулятор — это калькулятор, а не планировщик лунной миссии НАСА. На каком-то этапе Microsoft сбилась с курса, как будто сдалась и передала бразды правления куче веб-разработчиков, незнакомых с концепцией оптимизации. Чёртов Блокнот занимает в памяти почти 50 МБ, хотя эквивалентное приложение, написанное на чистом Win32 C, занимает 1,8 МБ. Вроде бы, по современным меркам 50 МБ — это не так много, но в том-то и смысл: эти мегабайты постепенно накапливаются. Недавно я купил новый Intel Ultra 9 285 с 32 ГБ ОЗУ, но при запуске Windows 11 память уже была заполнена на 77%. Программирование на Win32 API — утерянное ныне искусство; я с ностальгией вспоминаю, как когда-то программировали приложения для Windows. Процесс был запутанным, но обеспечивал полный контроль.

    habr.com/ru/articles/1025204/

    #win32_api #win32 #скины

  6. Giovanni's blog just dropped the hottest take 😎: "Why not use string views instead of const& wstrings?" Because he's apparently in the business of crafting "nasty bugs" and defying rationality with #Win32 C code 🐛🤦‍♂️.
    giodicanio.com/2024/05/14/why- #GiovanniBlog #StringViews #CCode #NastyBugs #DeveloperHumor #HackerNews #ngated

  7. Giovanni's blog just dropped the hottest take 😎: "Why not use string views instead of const& wstrings?" Because he's apparently in the business of crafting "nasty bugs" and defying rationality with #Win32 C code 🐛🤦‍♂️.
    giodicanio.com/2024/05/14/why- #GiovanniBlog #StringViews #CCode #NastyBugs #DeveloperHumor #HackerNews #ngated

  8. Giovanni's blog just dropped the hottest take 😎: "Why not use string views instead of const& wstrings?" Because he's apparently in the business of crafting "nasty bugs" and defying rationality with #Win32 C code 🐛🤦‍♂️.
    giodicanio.com/2024/05/14/why- #GiovanniBlog #StringViews #CCode #NastyBugs #DeveloperHumor #HackerNews #ngated

  9. Giovanni's blog just dropped the hottest take 😎: "Why not use string views instead of const& wstrings?" Because he's apparently in the business of crafting "nasty bugs" and defying rationality with #Win32 C code 🐛🤦‍♂️.
    giodicanio.com/2024/05/14/why- #GiovanniBlog #StringViews #CCode #NastyBugs #DeveloperHumor #HackerNews #ngated

  10. « Alors là on a mis un champ "SectorSize" dans la structure par ce qu'on trouvait que sinon c'était trop simple, il n'y avait pas assez de paramètres. Mais faut toujours le mettre à 512, vous avez pas le choix. »

    Halala l'API win32 de Microsoft, c'est toujours un plaisir... 😅

    #development #win32 #Microsoft #Windows

  11. Someone wanna chime in and tell me what I'm doing wrong?
    I have a #Windows shell extension, built for x86, arm64X (arm64 + arm64EC), and a host process of arm64.
    The shell extension either works in arm64 Explorer (when built as arm64), or in any x64-emulated process (when built as arm64X, or arm64EC). But, it doesn't for both (x64-emulated, and arm64 process).
    I've tried all combination (ARM64 only, ARM64EC only, ARM64X).

    #Microsoft #Cpp #Win32 #Programming #Developer

  12. A screenshot of my desktop: wine 11.5 running inside arch linux on distrobox. Running applications: winamp, firefox esr for windows, freepascal and cygwin installation.
    Base system: Devuan GNU/Linux Excalibur

    #wine #win32 #experiments

  13. My desktop is KDE Plasma, but I also like to use GNOME apps.

    I find funny how this weird mix of Qt+GTK4 happens to be exactly like the weird mix of Win32+UWP on Windows.

    #Linux #Desktop #Windows #KDE #Plasma #GNOME #Qt #GTK #Win32 #UWP

  14. Cool cool #Microsoft.
    Your MIDL tooling doesn't support #ARM64, so I can't build a COM-server with an ARM64 native binary, is that correct?
    I have to use #ARM64EC, which isn't supported on Windows 10. Is that correct?

    #Windows #Win32 #Cpp

  15. Did you know?
    CredWrite() has a limit of how any credentials can be stored.
    Why.

    #Win32 #Microsoft #Windows

  16. [Перевод] Как превратить Linux в Windows

    Тезис: следует создать такой дистрибутив Linux, который по умолчанию выполняет двоичные файлы Windows через Wine. Если я найду файл в формате .exe, которому 20 лет, я по-прежнему смогу запустить его на современной Windows. Попробуйте проделать подобное с двоичным файлом Linux, которому всего год. Совершенно не гарантированно, что он запустится, в зависимости от того, какие обновления успели произойти. Также не гарантируется, что заработает даже сегодняшний двоичный файл Linux, если собрать его в одном дистрибутиве, а попытаться запустить на разных других дистрибутивах. Возникает ровно такая же проблема, связанная с версиями установленных библиотек.

    habr.com/ru/companies/timeweb/

    #timeweb_перевод #windows #apple #linux #appimage #elf #win32 #freebsd #reactos #android

  17. RE: fosstodon.org/@eclipseadoptium

    A reminder that @eclipseadoptium will not be publishing bulds for some platforms in the January set of releases which are being prepared at the moment.

  18. RE: fosstodon.org/@eclipseadoptium

    A reminder that @eclipseadoptium will not be publishing bulds for some platforms in the January set of releases which are being prepared at the moment.
    #adoptium #temurin #java #openjdk #solaris #win32

  19. RE: fosstodon.org/@eclipseadoptium

    A reminder that @eclipseadoptium will not be publishing bulds for some platforms in the January set of releases which are being prepared at the moment.
    #adoptium #temurin #java #openjdk #solaris #win32

  20. RE: fosstodon.org/@eclipseadoptium

    A reminder that @eclipseadoptium will not be publishing bulds for some platforms in the January set of releases which are being prepared at the moment.
    #adoptium #temurin #java #openjdk #solaris #win32

  21. RE: fosstodon.org/@eclipseadoptium

    A reminder that @eclipseadoptium will not be publishing bulds for some platforms in the January set of releases which are being prepared at the moment.
    #adoptium #temurin #java #openjdk #solaris #win32

  22. I'm certain now: IShellWindows::FindWindowSW was never supposed to work with a cookie from DShellWindowsEvents.

    <learn.microsoft.com/en-us/wind>

    Calling it is impossible without getting S_FALSE back.

    #Microsoft #Windows #Win32 #Cpp #DotNet #CSharp

  23. @uaa #Win32 の時代に現在できることのほとんどが整いましたが、 #MSX だとどうですか?

  24. loss32 è un progetto che vuole trasformare Linux in un desktop Win32 completo usando WINE, un’idea audace per eseguire software Windows direttamente su Linux. #Linux #win32 #Windows

    linuxeasy.org/loss32-linux-com

  25. My efforts to install Odin under OS/2 Warp 3 have been less than satisfying. What I have done:
    * Upgrade Warp 3 to FP 40.
    * Install tcpip ("INTERNET" folder of Warp 3 Bonus CD)
    * Install kernel with *.sym file (W30821U)

    What I get:
    * Error SYS3190 (has apparently something to do with libc066.dll)

    Any idea what to try next?

    #os2 #warp3 #odin089 #win32

  26. My efforts to install Odin under OS/2 Warp 3 have been less than satisfying. What I have done:
    * Upgrade Warp 3 to FP 40.
    * Install tcpip ("INTERNET" folder of Warp 3 Bonus CD)
    * Install kernel with *.sym file (W30821U)

    What I get:
    * Error SYS3190 (has apparently something to do with libc066.dll)

    Any idea what to try next?

    #os2 #warp3 #odin089 #win32

  27. My efforts to install Odin under OS/2 Warp 3 have been less than satisfying. What I have done:
    * Upgrade Warp 3 to FP 40.
    * Install tcpip ("INTERNET" folder of Warp 3 Bonus CD)
    * Install kernel with *.sym file (W30821U)

    What I get:
    * Error SYS3190 (has apparently something to do with libc066.dll)

    Any idea what to try next?

    #os2 #warp3 #odin089 #win32

  28. My efforts to install Odin under OS/2 Warp 3 have been less than satisfying. What I have done:
    * Upgrade Warp 3 to FP 40.
    * Install tcpip ("INTERNET" folder of Warp 3 Bonus CD)
    * Install kernel with *.sym file (W30821U)

    What I get:
    * Error SYS3190 (has apparently something to do with libc066.dll)

    Any idea what to try next?

    #os2 #warp3 #odin089 #win32

  29. My efforts to install Odin under OS/2 Warp 3 have been less than satisfying. What I have done:
    * Upgrade Warp 3 to FP 40.
    * Install tcpip ("INTERNET" folder of Warp 3 Bonus CD)
    * Install kernel with *.sym file (W30821U)

    What I get:
    * Error SYS3190 (has apparently something to do with libc066.dll)

    Any idea what to try next?

    #os2 #warp3 #odin089 #win32