Windows API for rust 在构造 PrintManager 时给出“接口未注册”错误

问题描述 投票:0回答:0

我正在尝试使用 windows rust crate API 在 rust 中打印 jpeg

首先我使用 use windows::Graphics::Printing::PrintManager;

导入 PrintManager

然后定义主函数 fn main() { 并尝试使用 GetForCurrentView 方法创建一个 PrintManager let print_manager = PrintManager::GetForCurrentView().unwrap(); 但是当我运行它时出现以下错误 called `Result::unwrap()` on an `Err` value: Error { code: HRESULT(0x80040155), message: "Interface not registered" }

最小可复制的例子

Cargo.toml

...
[dependencies.windows]
version = "0.44.0"
features = [
    "Devices_Printers",
    "Foundation",
    "Win32_Graphics_Printing",
    "Graphics_Printing"
]

主程序

use windows::Graphics::Printing::PrintManager;

fn main() {
    let print_manager = PrintManager::IsSupported();
    dbg!(print_manager)
    // this is where the error gets thrown 
    let print_manager = PrintManager::GetForCurrentView().unwrap();
    dbg!(print_manager);
}

我希望该函数返回一个 PrintManager 结构,我以后可以用它来打印 JPEG,但是它一直抛出这个接口未注册错误,我试过以管理员身份运行该程序,但没有成功。

非常感谢任何帮助 非常感谢!

windows winapi rust
© www.soinside.com 2019 - 2024. All rights reserved.