我想以类似于 PowerShell 的方式在 Rust 中创建一个对话框或弹出窗口.
我正在努力寻找有关 Windows API 的文档。到目前为止我找到的最接近的是 the CreateDialogA
macro (Rust winapi equivalent)。
我在上面找到了一些东西,比如 Creating a New Dialog Box (C++) , 但其中大部分不适用于 Rust 项目。
也许 dialoge template相关吗?
最佳答案
主.rs
extern crate winapi;
use std::ptr::null_mut as NULL;
use winapi::um::winuser;
fn main() {
let l_msg: Vec<u16> = "Wassa wassa wassup\0".encode_utf16().collect();
let l_title: Vec<u16> = "\u{20BF}itconnect\0".encode_utf16().collect();
unsafe {
winuser::MessageBoxW(NULL(), l_msg.as_ptr(), l_title.as_ptr(), winuser::MB_OK | winuser::MB_ICONINFORMATION);
}
}
这使用了 MessageBoxW function .
参数 winuser::MB_OK
可以是 winuser::MB_OK
、winuser::MB_OKCANCEL
、winuser::MB_ABORTRETRYIGNORE
、winuser::MB_YESNOCANCEL
、winuser::MB_YESNO
、winuser::MB_RETRYCANCEL
或 winuser::MB_CANCELTRYCONTINUE
.
参数 winuser::MB_ICONINFORMATION
可以是 winuser::MB_ICONHAND
、winuser::MB_ICONQUESTION
、winuser::MB_ICONEXCLAMATION
或 winuser::MB_ICONASTERISK
。
Cargo.toml 应该包括:
[dependencies.winapi]
version = "0.3"
features = ["winuser"]
关于windows - 使用 Windows API 在 Rust 中创建弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648377/