| Crates.io | everything-direct |
| lib.rs | everything-direct |
| version | 0.1.0 |
| created_at | 2025-10-25 06:40:21.948205+00 |
| updated_at | 2025-10-25 06:40:21.948205+00 |
| description | Direct IPC bindings for Everything Search Engine on Windows. |
| homepage | |
| repository | https://github.com/BlueGlassBlock/everything-direct |
| max_upload_size | |
| id | 1899790 |
| size | 81,283 |
Raw IPC bindings for the Everything search engine on Windows.
This crate provides low-level, DLL-free access to Everything's powerful file search capabilities through direct Windows IPC (Inter-Process Communication). Unlike the official SDK, no external DLL is required—making it ideal for Rust applications that need minimal dependencies.
Add this to your Cargo.toml:
[dependencies]
everything-direct = "0.1.0"
windows = { version = "0.62", features = ["Win32_Foundation"] }
use everything_direct::{EverythingClient, QueryInfo, RequestFlags};
fn main() -> windows::core::Result<()> {
// Connect to Everything
let client = EverythingClient::try_new(None)?;
// Check if database is ready
if !client.is_db_loaded() {
println!("Everything database is still loading...");
return Ok(());
}
// Search for PDF files
let query = QueryInfo::new("*.pdf")
.request_flag(RequestFlags::NAME | RequestFlags::PATH | RequestFlags::SIZE)
.max_results(10);
let results = client.query(&query)?;
println!("Found {} total results", results.total_items);
for item in results.items {
println!("{:?} - {:?} ({:?} bytes)",
item.name, item.path, item.size);
}
Ok(())
}
use everything_direct::EverythingClient;
fn main() -> windows::core::Result<()> {
let client = EverythingClient::try_new(None)?;
let (major, minor, revision, build, target) = client.get_build_info();
println!("Everything version: {}.{}.{}.{} ({})",
major, minor, revision, build, target);
println!("Running as admin: {}", client.is_admin());
println!("Database loaded: {}", client.is_db_loaded());
Ok(())
}
MIT OR Apache-2.0