搜索插件、代码仓与 APP 分类

GitHub 代码仓halildurmus/filepicker_windows

filepicker_windows

适用于 Windows 的文件和目录选择器,使用通用对话框控件。

filepicker_windows 项目封面
星标
70
复刻
19
最近推送(UTC)
2026年2月26日
项目状态
已归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

This package has moved

The package can now be found at https://github.com/halildurmus/win32/tree/main/packages/filepicker_windows.


ci Package: filepicker_windows Publisher: halildurmus.dev Language: Dart License: BSD-3-Clause

File and directory picker for Windows that uses common dialog controls.

This package builds on top of the package:win32 and provides a high-level abstraction over native file picker APIs. It eliminates the need to work directly with FFI, raw pointers, or low-level Win32 calls while preserving performance and correctness.

✨ Features

  • 📂 Open a single file or multiple files simultaneously
  • 💾 Save a file
  • 📁 Select a directory
  • 🔍 Filter by file type with friendly display names
  • 📌 Add custom places to the dialog's navigation pane
  • 🪟 Pin to the correct window — always opens as a modal in front of your app

🚀 Getting Started

Add the package to your pubspec.yaml:

dependencies:
  filepicker_windows: ^3.0.0

Then import it:

import 'package:filepicker_windows/filepicker_windows.dart';

⚡ Quick Example

Show a file open dialog:

import 'package:filepicker_windows/filepicker_windows.dart';

void main() {
  final picker = OpenFilePicker()
    ..filterSpecification = {
      'Word Document (*.doc)': '*.doc',
      'Web Page (*.htm; *.html)': '*.htm;*.html',
      'Text Document (*.txt)': '*.txt',
      'All Files': '*.*',
    }
    ..defaultFilterIndex = 0
    ..defaultExtension = 'doc'
    ..title = 'Select a document';

  final file = picker.getFile();
  if (file != null) {
    print('Selected file: ${file.path}');
  } else {
    print('No file selected.');
  }
}

More examples — including multi-file selection, save dialogs, directory picking, and custom places — are available in the example directory.

For a more advanced demonstration, see example/wallpaper/, a Flutter app that uses the picker to select an image and set it as the desktop wallpaper.

📝 Documentation

Full API reference is available here:

👉 API Reference.

Additional usage examples are located in the example directory.

🐞 Features and Bugs

If you encounter bugs or need additional functionality, please file an issue.

Halil Durmus GitHub avatar
GitHub 作者

Halil Durmus ↗

Software Engineer • Dart Enthusiast💙🎯

语言DartC++CMakeC

分类

使用的依赖

依赖清单 7 项

  • ffi^2.2.0
  • ffi_leak_tracker^0.1.0
  • win32^6.0.0
  • checks开发依赖^0.3.1
  • halildurmus_hooks开发依赖^0.1.1
  • halildurmus_lints开发依赖^2.0.0
  • test开发依赖^1.29.0

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗