Featured image of post Cómo mostrar un cuadro de mensaje de Windows (MessageBox) usando Rust y winapi

Cómo mostrar un cuadro de mensaje de Windows (MessageBox) usando Rust y winapi

Explicamos paso a paso, desde la creación del proyecto hasta la implementación del código, cómo mostrar un cuadro de mensaje simple (MessageBox) llamando a la API de Windows mediante los crates `winapi` y `user32-sys` en Rust.

Puede mostrar un MessageBox en Rust siguiendo los pasos a continuación.

  1. Instalar Rust. Consulte Cómo empezar con Rust.
  2. Ejecute cargo new --bin MessageBox en el símbolo del sistema.
  3. Vaya al directorio MessageBox.
  4. Abra Cargo.toml y modifíquelo de la siguiente manera.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
winapi = "0.2.7"
user32-sys = "0.2.0"
  1. Abra src\main.rs y modifíquelo de la siguiente manera.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
extern crate user32;
extern crate winapi;

use std::ffi::CString;
use user32::MessageBoxA;
use winapi::winuser::{MB_OK, MB_ICONINFORMATION};

fn main() {
    let lp_text = CString::new("Hello, world!").unwrap();
    let lp_caption = CString::new("MessageBox Example").unwrap();

    unsafe {
        MessageBoxA(
            std::ptr::null_mut(),
            lp_text.as_ptr(),
            lp_caption.as_ptr(),
            MB_OK | MB_ICONINFORMATION
        );
    }
}
  1. Ejecute cargo run en el símbolo del sistema. img.png

  2. Para compilar una versión de lanzamiento, ejecute cargo build --release.

Referencia

Hello World MesssageBox example in Rust

comments powered by Disqus