【发布时间】:2019-11-25 11:12:23
【问题描述】:
我正在尝试使用 winapi crate 和 SystemParametersInfo 在 Rust 中设置 Windows 背景,但它将背景设置为黑色。在 C++ 中,这通常意味着 pvParam 未正确传递或类型错误。
怎么了?
#[cfg(windows)]
extern crate winapi;
use winapi::ctypes::c_void;
use winapi::um::winuser::{SystemParametersInfoA, SPIF_UPDATEINIFILE, SPI_SETDESKWALLPAPER};
fn main() {
let mut image_path = "Path to Image";
let image_path_c_ptr: *mut c_void = &mut image_path as *mut _ as *mut c_void;
unsafe {
SystemParametersInfoA(
SPI_SETDESKWALLPAPER,
0,
image_path_c_ptr,
SPIF_UPDATEINIFILE,
);
}
}
【问题讨论】:
-
不是你的问题,但已经有一个可以设置壁纸的板条箱:github.com/reujab/wallpaper.rs
-
嘿,谢谢,我会看看这个,因为我仍然需要弄清楚如何为不同的显示器设置壁纸编辑:啊该死的板条箱也只支持一个显示器......