In practice, while it is relatively straightforward to call
basic Win32 APIs from Dart in this way,
it is easier to use a wrapper library that abstracts the
intricacies of the COM programming model.
The win32 package provides a library
for accessing thousands of common Windows APIs,
using metadata provided by Microsoft for consistency and correctness.
The package also includes examples of
a variety of common use cases,
such as WMI, disk management, shell integration,
and system dialogs.

A number of other packages build on this foundation,
providing idiomatic Dart access for the Windows registry,
gamepad support, biometric storage,
taskbar integration, and serial port access, to name a few.

More generally, many other packages support Windows,
including common packages such as url_launcher, shared_preferences, file_selector, and path_provider.

Supporting Windows UI guidelines