win32 2.2.9
win32: ^2.2.9 copied to clipboard

A Dart library for accessing common Win32 APIs using FFI. No C required!

2.2.9 #

  • Add some missing GDI functions

2.2.8 #

  • Add Native Wifi APIs (#299)

2.2.7 #

  • Added ResetEvent and complete OVERLAPPED struct (#295)
  • Added more virtual memory functions (#297)

2.2.6 #

  • Add some requested APIs thanks to contributions from @ilopX, in particular a new sample for enumerating locally installed printers.
  • Added ExtractAssociatedIcon, with thanks to @halildurmus.

2.2.5 #

  • Add more DWM APIs, including DwmSetWindowAttribute.

2.2.4 #

  • Add various DWM and subclassing APIs

2.2.3 #

  • Lazily evaluate lookupFunction FFI calls for improved performance.
  • Add APIs for hooks and a few extra kernel32 APIs
  • Add some more tests.

2.2.2 #

  • Add Windows Spooler library support.

2.2.1 #

  • Add initial support for the Windows Socket library (winsock2).

2.2.0 #

  • Fixes convertToHString to return an int, since HSTRINGs are handles. This is a breaking change for any apps that use WinRT APIs, but given the limited availability of WinRT classes that fall into this category, updating only the minor version.
  • Add low-level Device IO and structured storage APIs and diskinfo.dart sample.

2.1.5 #

  • Add smart card reader support.

2.1.4 #

  • Add helper functions for COM along with extra documentation.

2.1.3 #

  • Fix bug in shell COM APIs.
  • Add examples for shortcut creation and named pipes.

2.1.2 #

  • Add serial port comms APIs
  • Add additional shell COM APIs

2.1.1 #

  • Work around FFI regression in Dart master and dev builds.

2.1.0 #

  • Upgrade to Dart 2.13, which supports packed structs and arrays in FFI. This enables support for more automated generation of structs, which in turn increases development velocity for this package.

  • Other APIs included in this release include:

    • More complete Bluetooth support
    • MIDI support
    • High DPI support
    • IDispatch support
    • Many more core user32 APIs

2.0.5 #

  • Add some debugging APIs to allow enumerating exported symbols, along with a sample (dump.dart).
  • Free memory allocations in samples.
  • Use latest version of Win32 metadata from winmd package, and generate most structs automatically using this metadata.
  • Generate COM helper classes wherever metadata supports it, instead of requiring a manual decorator.
  • Add about 20 new kernel32 APIs.

2.0.4 #

  • Add network events, thanks to a contribution from @sunbreak.
  • Update COM vtable generation, thanks to a contribution from @bonukai.
  • Update to use the latest WinMD package.

2.0.3 #

  • Add spellchecking COM APIs, thanks to a contribution from @bonukai.

2.0.2 #

  • Adds named pipe APIs to support projects like TerminalStudio/pty.

2.0.1 #

  • Adds a demo of custom window shapes.
  • Removes Windows Metadata classes (now in the winmd package). This is a breaking change, but it's not anticipated to be a problem since these classes are only used for code generation.
  • Update to latest WinMD package
  • Add shell folder APIs
  • Add registry key APIs

2.0.0 #

  • Stable version w/ sound null safety.
  • Update to ffi 1.0.0 and address breaking changes.
  • 100+ new APIs in kernel32, user32, ole32, advapi32, shell32 and gdi32, as well as a series of COM interfaces.
  • Rework API wrapper to use functions instead of properties
  • New JSON-based metadata format for Win32 APIs that supports API sets and minimum versions, and more robust tooling for loading and saving metadata
  • Migrated Windows Runtime APIs into core unmanaged metadata
  • Add waveOut* APIs from winmm.dll (thanks @slightfoot)
  • Make VARIANT more representative of the underlying type.
  • Add DLGTEMPLATE and DLGITEMTEMPLATE structs with extension methods.
  • Add more tests.
  • Add dialog box example and supporting extension methods
  • New shell tray notification example (thanks @ilopX)
  • Better documentation of constants and callbacks

1.7.5 #

  • WinMM: Add PlaySound (thanks @Hexer10)

1.7.4 #

  • Add SysAllocString, SysFreeString, SysStringByteLen, SysStringLen, SHCreateItemFromParsingName

1.7.3 #

  • Expand Win32 API documentation.
  • New APIs:
    • User32: ClipCursor, CopyIcon, DestroyIcon, DrawIcon, GetCursor, GetCursorPos, GetSystemMenu, SetMenuInfo, SetMenuItemInfo, ShowCursor

1.7.2 #

  • Add Win32 API documentation and a couple of minor APIs.

1.7.1 #

  • Add version information APIs and example.

1.7.0 #

  • Changed how the C-style APIs are generated. This should result in far better code smarts in your editor, as well as major improvements to the auto-generated documentation.
  • Added many new APIs, including GetCurrentProcess and GetModuleFileName

1.6.10 #

  • New APIs
    • Shell: LockWorkstation, SHEmptyRecycleBin, SHGetDiskFreeSpaceEx, SHGetDriveMedia, SHQueryRecycleBin, InitCommonControlsEx, DrawStatusText
    • Add high-precision timing APIs: QueryPerformanceFrequency, QueryPerformanceCounter
    • User32: SetParent, CreateWindow macro, MonitorFromPoint, SetWindowsLongPtr
    • Kernel: Add SystemParametersInfo and related constants
    • Kernel: Add EnumProcessModulesEx (thanks @Hexer10)
  • Samples
    • Add example of using app manifests to declare support for UAC permissions and Windows 10 opt-in behavior
  • Windows Runtime metadata
    • Greatly expand WinMD utility to generate APIs directly from Windows Metadata
    • Autogenerate all Windows Runtime classes except ICalendar and IFileOpenPicker from metadata
  • Code tidy up
    • Add more tests
    • Go through all the code with a stricter linter
    • Update README with screenshots and examples
    • Update Flutter Windows examples to the v4 template

1.6.9 #

  • Add credential management APIs (thanks @hpoul)
  • Add battery and power management APIs
  • Overhaul HRESULTs and add more tests

1.6.8 #

  • Add font enumeration example
  • Experiment with hosting documentation on GitHub

1.6.7 #

  • Add basic registry checks
  • Add initial Bluetooth discovery support
  • Add a system information sample
  • Guard tests so that they work on Windows 7
  • Add some shell APIs and more tests

1.6.6 #

  • Add more process management APIs
  • Add high level monitor configuration API

1.6.5 #

  • Add a broader array of console APIs
  • Add a wallpaper example

1.6.4 #

  • Lots of documentation and linter cleanup

1.6.3 #

  • Add TaskDialog and dynamic library loading APIs
  • Add dynamic load and Windows Runtime metadata samples
  • Fix an annoying bug with WindowsDeleteString usage
  • Add more tests and restructure code
  • More library-level documentation
  • Add script for generating classes

1.6.2 #

  • Clean up some of the generated documentation

1.6.1 #

  • Lots of minor refactoring and tidy up
  • Some early WinMD parsing
  • Add many more unit tests

1.6.0 #

  • Add WinRT examples, including Windows.Globalization.Calendar and Windows.Storage.Pickers.FileOpenPicker
  • Add various process management and kernel APIs: CloseHandle, EnumProcesses, EnumProcessModules, GetModuleBaseName, GetModuleFileNameExt, OpenProcess, ReadProcessMemory and WriteProcessMemory.
  • Add modules.dart sample
  • Lots of refactoring and tidy up work.

1.5.1 #

  • Add GetTempPath()

1.5.0 #

  • Use automated Dart tool to generate all COM classes
  • Add IFileDialogCustomize, IShellItem2, IShellItemArray, IShellItemFilter
  • Fill out all the class methods
  • Fix some embarrassing bugs

1.4.2 #

  • Fix a few bugs
  • Add support for desktop background management with IDesktopWallpaper

1.4.1 #

  • Expand COM support to include IShellItemArray and various WMI classes

1.4.0 #

  • Add COM support
  • Add implementations for IOpenFileDialog, IFileDialog, IModalWindow, IShellItem, IUnknown
  • Add common item dialog example

1.3.2 #

  • Add Snake GDI example
  • Add PeekMessage, MoveTo, VirtualAlloc/Free, StretchDibBits, Beep
  • Tidy up code and test

1.3.1 #

  • Add RegisterWindowMessage
  • Fix bugs in ACCEL and FINDREPLACE structs
  • Fix various bugs in Notepad example

1.3.0 #

  • Add notepad example
  • Add 20+ new APIs for common dialogs, message sending, accelerators, menus, fonts and GDI object manipulation
  • Fix APIs to be 32-bit safe
  • Fix some minor bugs

1.2.6 #

  • Add window enumeration (FindWindowEx, EnumWindows, IsWindowVisible, GetWindowText, GetWindowTextLength) and example

1.2.5 #

  • Added Flutter example
  • Added common dialog example

1.2.4 #

  • Added volume management APIs

1.2.3 #

  • Add scrolling APIs and example
  • Add 'new' known folder API
  • Add some basic unit tests

1.2.2 #

  • Add known folder plus GUID classes

1.2.1 #

  • Added SendInput, Sleep and ShellExecute

1.2.0 #

  • Implemented a good sample of GDI calls
  • Added support for timers
  • Added virtual keyboard constants
  • Added a GDI paint sample
  • Added a more comprehensive sample game (Tetris)

1.1.1 #

  • Add class styles
  • Match recommended package structure per

1.1.0 #

  • Added MessageBox and console APIs

1.0.0 #

  • Initial version
pub points


A Dart library for accessing common Win32 APIs using FFI. No C required!

Repository (GitHub)
View/report issues


API reference


BSD-3-Clause (LICENSE)




Packages that depend on win32