Windows Tips & News

Microsoft har tillkännagett Rust/WinRT-projekt

Microsoft har tillkännagett Rust/WinRT-projekt som ger ett naturligt och idiomatiskt sätt för Rust-utvecklare att anropa Windows API: er. Rust/WinRT låter dig anropa alla WinRT API förr, nu, och framtida med hjälp av kod som genereras i farten direkt från metadatan som beskriver API: et och direkt in i ditt Rust-paket där du kan anropa dem som om de bara vore ännu en Rust modul.

Windows Runtime är baserad på Component Object Model (COM) API: er under huven och är designad för att nås via språkprojektioner som C++/WinRT och Rust/WinRT. Dessa språkprojektioner tar metadata som beskriver olika API: er och ger naturliga bindningar för målprogrammeringsspråket. Detta gör att utvecklare enklare kan bygga appar och komponenter för Windows med deras önskade språk. Du kan sedan använda dessa Windows API: er för att bygga skrivbordsappar, lagra appar, en komponent, NT-tjänst eller enhetsdrivrutin.

Här nedan är ett enkelt exempel på att Rust anropar ett Windows API.

använd windows:: data:: xml:: dom::*; let doc = XmlDocument:: new()?; doc.load_xml("Hej världen")?; låt root = doc.document_element()?; hävda!(root.node_name()? == "html"); hävda!(root.inner_text()? == "hej världen");

För ett mer meningsfullt exempel kan du kolla in följande Minesweeper-spel implementerat med Rust/WinRT: https://github.com/robmikh/minesweeper-rs

Microsoft noterade att detta är en mycket tidig offentlig förhandsvisning, så fler funktioner och korrigeringar kommer i framtiden. Hemsidan för projektet finns på GitHub:

https://github.com/microsoft/winrt-rs

Aktivera bild-i-bild-läge i Google Chrome

Aktivera bild-i-bild-läge i Google Chrome

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaNär det...

Läs mer

Global Media Playback Button kommer till Microsoft Edge

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer

Lägg till skrivare till menyn Skicka till i Windows 10

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer