Windows V0.9 RUDE

2021-05-08 22:42:26

Windows V0.9的RUDE最近已发布并包括完全消费支持以及其他几个更新!通过完成的消费支持,您现在可以使用Rust语言投影呼叫任何Windows API(过去,呈现和未来)。 Rust开发人员可以以语言惯用方式访问整个Windows API表面,允许它们轻松利用Windows开发的电源和广度。

随着这个最新版本,我们向Microsoft文档添加了在Windows上使用Rust开发的新内容。对于那些想要潜入的人来说,还有一个新的入门视频!有关项目的更多信息,请查看Windows Github Repo的Rust。

自去年的Rust / WinRT公共预览公告以来,我们取得了很大进展,并持续改善和投资项目。自此最后通知以来的一些更改和更新包括:

为Win32和COM API添加了支持,统一通过Windows Crate可用的Windows API。 Win32Metadata项目启用了这些API的添加。随着Windows API的增加和统一,我们将项目的名称从“Rust / WinRT”更改为“Windows Rust”。

为Windows Revo添加了几个例子,展示了如何调用各种Windows API(包括Win32,COM和WinRT API)。

Windows Crate在Crate.IO上发布,现在在麻省理工学院或Apache下双重许可。

Win32 API的许多改进和修复,例如对数组类型的支持,各种字符串类型和更新的元数据。

为COM接口添加了更自然和惯用的支持,例如返回值,以及支持涉及C风格的ONIONCE和嵌套类型的额外API。

现在保留原始API案例,这将影响使用Windows Crate的现有代码。

将QueryInterface函数转换为通用功能,使其更安全,更方便地调用许多相关的功能。

有关更多详细信息和更全面的更新列表,请查看Windows Repo的Rust上的ChangeLog。

我们最近添加了对ruct中的Win32 API调用Win32 API的支持,因此我将通过一个简单的示例,调用MessageBox函数。首先确保您拥有生锈开发环境,您可以通过遵循这些文档来完成。此处还可以在此处找到此示例的代码。

首先,我通过在命令提示符下运行以下命令创建了一个新的生锈项目:

这将创建一个新目录,其中包含了我的Rust项目的初学文件。导航到此新目录,并使用下面的命令创建嵌套绑定栅格,以将生成的绑定容纳。通过这样做,构建可以缓存任何导入的绑定的结果。

在MaSse_Box目录下直接在外部Cargo.toml文件中,添加以下依赖项,告诉货物现在取决于新创建的绑定库。

现在在绑定文件夹下面的Cargo.Toml文件中,添加以下依赖项以添加Windows Crate。这将允许货物下载,构建和缓存Windows支持作为包。

接下来,在Visual Studio代码中,我直接在名为build.rs的绑定文件夹下创建了一个新文件。在此文件中,使用Windows :: Build Macro指定要使用的类型,如下所示。您可以列出要在此构建脚本中使用的任何其他API。然后,Windows Crate将直接从元数据生成必要的绑定。

接下来在绑定/ src下的lib.rs文件中,删除默认代码并添加以下行,其中包括build.rs生成的源代码。

在main.rs文件中,您现在可以使用任何指定的Windows API。粘贴以下代码,它创建一个带有“Hello World”消息的消息框。请注意,任何Win32功能和COM接口方法都应标记为不安全。

运行Cargo Build,然后在Sample的根目录中运行Cargo在命令提示符上运行,并且您将看到以下输出!

我们对最新的Windows Update进行了兴奋的所有新的改进和功能。立即开始使用Microsoft文档的最新文档在Windows(和Windows)上开发生锈应用程序。有关实际教程,请查看此入门,由Kenny Kerr创建的视频。

在过去的一年里,我们对Windows进行了巨大的进步,我们正在继续投资该项目以使Windows应用程序易于用于生锈开发人员。 接下来,我们正在研究COM接口和WinRT组件的Rust创作支持,因此保持调整。 我们鼓励您与Windows Github Repo的Rust的任何问题,反馈或问题联系到!