The package can now be found at https://github.com/halildurmus/win32/tree/main/packages/win32_registry
A modern, type-safe Dart API for accessing and managing the Windows Registry.
This package builds on top of the package:win32 and provides a high-level abstraction over native registry APIs. It eliminates the need to work directly with FFI, raw pointers, or low-level Win32 calls while preserving performance and correctness.
- Key Management — Create, open, delete, and rename registry keys.
- Typed Values — Read and write strings, integers, binary data, and multi-string values using strongly typed APIs.
- Change Monitoring — Listen for registry modifications.
- Metadata Queries — Inspect subkeys, values, sizes, and timestamps.
- Transaction Support — Perform registry operations atomically.
Add the package to your pubspec.yaml:
dependencies:
win32_registry: ^3.0.0Then import it:
import 'package:win32_registry/win32_registry.dart';Reads the Windows build number from the registry:
void main() {
final key = LOCAL_MACHINE.open(
r'Software\Microsoft\Windows NT\CurrentVersion',
);
final buildNumber = key.getString('CurrentBuild');
if (buildNumber != null) {
print('Windows build number: $buildNumber');
}
key.close();
}Full API reference is available here:
Additional usage examples are located in the example directory.
If you encounter bugs or need additional functionality, please file an issue.