win32_clipboard 1.0.0 win32_clipboard: ^1.0.0 copied to clipboard
A package that provides a friendly Dart API for accessing the Windows Clipboard.
A package that provides a friendly Dart API for accessing the Windows Clipboard.
This package builds on top of the Dart win32 package, offering a high-level Dart wrapper that avoids the need for users to understand FFI or write directly to the Win32 API.
Features #
- Text Operations: Easily read and write text to the clipboard.
- File List Operations: Easily read and write file lists to the clipboard.
- Format Inspection: Check available formats on the clipboard.
- Custom Formats: Register custom clipboard formats.
- Clipboard Change Notifications: Monitor changes to the clipboard contents.
- Clear Clipboard: Clear the clipboard contents.
To learn more, see the API Documentation.
Usage #
Text operations #
import 'package:win32_clipboard/win32_clipboard.dart';
void main() {
if (Clipboard.setText('Hello, world!')) {
print('Retrieved text from clipboard: "${Clipboard.getText()}"');
}
}
File list operations #
import 'package:win32_clipboard/win32_clipboard.dart';
void main() {
if (Clipboard.setFileList([r'c:\src\file1.dart', r'd:\file2.txt'])) {
print('Retrieved file list from clipboard: ${Clipboard.getFileList()}');
}
}
Listen for clipboard text changes #
import 'package:win32_clipboard/win32_clipboard.dart';
void main() async {
// Subscribe to the clipboard text change stream.
final subscription = Clipboard.onTextChanged.listen((text) {
print('Clipboard text changed: "$text"');
}, cancelOnError: true);
print('Monitoring clipboard text changes for 30 seconds...');
// Now, copy some text to the clipboard to see the changes.
// Stop monitoring after 30 seconds.
await Future.delayed(const Duration(seconds: 30), () async {
await subscription.cancel();
print('Stopped monitoring.');
});
}
Retrieve a list of available clipboard formats #
import 'package:win32_clipboard/win32_clipboard.dart';
void main() {
print('Clipboard has ${Clipboard.numberOfFormats} format(s)');
for (final format in Clipboard.formats) {
print('- $format');
}
}
Clear the clipboard #
import 'package:win32_clipboard/win32_clipboard.dart';
void main() {
if (Clipboard.clear()) {
print('Clipboard contents cleared.');
}
}
Feature requests and bugs #
Please file feature requests and bugs at the issue tracker.