スポンサーリンク

Rust + windows-rs でMessageBoxWを呼び出す

main.rs

use windows::Win32::UI::WindowsAndMessaging::{MessageBoxW, MB_OK};


fn main( )->windows::core::Result<()>{

  // windows::core::s! マクロ ... 文字列(utf8)をLPCSTR へ変換。
  // MessageBoxWを使う場合はLPCWSTR へ変換するw!を使用。

  unsafe {
    MessageBoxW(
      None,
      windows::core::w!("ハローワールド"), 
      windows::core::w!("タイトル"),
       MB_OK
    );

  }

  Ok(())

}

Cargo.toml

[package]
name = "myproject"
version = "0.1.0"
edition = "2021"

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

[dependencies.windows]

version = "0.44.0"

# 最新版のバージョンは https://github.com/microsoft/windows-rs で確認
# ・バージョンによってfeaturesを変えなければいけないかもしれない
# ・バージョンによって何が使えるか(どこにあるか?)が変わる
#  例えば windows::Win32::Foundation::HINSTANCE やs!は0.32.0にはない

features = [
#    "alloc",                     # 0.32.0では必要
    "Win32_Foundation",
    "Win32_UI_WindowsAndMessaging",
]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: