05. tháng 1 2025
Tôi muốn chạy một đoạn chương trình xử lý bằng Rust trên Windows và khi hoàn tất, sẽ hiển thị một hộp thông báo提醒 rằng công việc đã hoàn thành. Dưới đây là bắn cá miễn phí một ví dụ tham khảo từ tài liệu chính thức của Windows:
cargo new rust_txt
Cargo.toml:
[package]
name = "rust_txt"
version = "0.1.0"
edition = "2021"
# Xem thêm các khóa và định nghĩa tại ...
[dependencies]
[dependencies.windows]
version = "0.43.0"
features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
]
Đây là một thư viện được bao gói bởi Microsoft, cung cấp rất nhiều tính năng mạnh mẽ. Không chỉ bao gồm các giao diện hệ thống của Windows mà còn hỗ trợ các yêu cầu HTTP, phân tích cú pháp tệp XML và nhiều chức năng khác nữa. Có thể nói đây là một công cụ đa năng.
1use windows::{
2 core::*, // Hỗ trợ kiểu dữ liệu cho crate windows
3 Win32::UI::WindowsAndMessaging::*
4};
5
6fn main() {
7 println!("Xin chào, thế giới!");
8 unsafe {
9 MessageBoxA(None, s!("Ansi"), s!("Thế Giới"), MB_OK);
10 MessageBoxW(None, w!("Wide"), w!("Thế Giới"), MB_OK);
11 }
12}
$ cargo.exe run
!Hộp thoại thông báo Rust trên Windows
cargo.exe build [bóng đá ngoại hạng anh trực tiếp hôm nay](/blog/how-to-avoid-being-email-engineer/) --release
Sau khi biên dịch, phiên bản release của tập tin exe có kích thước chỉ vỏn vẹn 143K...
Còn phiên bản debug tạo ra bởi cargo run
cũng chỉ nặng khoảng 148K...
Thật đáng kinh the thao 24h ngạc!
Khi kết hợp với phần mở rộng rust-analyzer trên VSCode, bạn có thể dễ dàng truy cập vào tài liệu liên quan đến các hàm win32, giúp quá trình phát triển trở nên thuận tiện hơn rất nhiều.