How can I use the Windows.UI namespace from a regular (Non-Store) Win32 .NET application?
Certain WinRT classes can be used from desktop apps, including portions of the Windows.UI namespace. The toast notification APIs are one such example - they can be used by both Windows Store apps and desktop apps. In the API reference section, each class page shows if the API applies to Windows Store apps or desktop apps (example for toast). There is a sample of using the toast notification APIs from a desktop app provided on MSDN.
MSDN contains a full list of the WinRT classes that are available to desktop apps.
Edit:
The ability to add a reference to the WinRT APIs is off by default in C# desktop apps. The project needs to specifically target the Windows 8 platform. To add a reference to WinRT APIs (the Windows.winmd assembly), add the following to your project file:
<PropertyGroup>
<TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>
After adding that to the project, a "Windows" tab will appear in the Reference Manager dialog, and you can add the Windows assembly. For more information, see 'Core Subgroup' on this MSDN article.
Related videos on Youtube
wollnyst
Updated on September 15, 2022Comments
-
wollnyst over 1 year
The question is basically related to Possible to use Toast Notifications from a regular .Net application?
How can I use the Windows.UI namespace from a regular (Non-Store) Win32 .NET application (Console, WinForms, WPF)?
-
wollnyst over 11 yearsThank you very much, that exactly the sample I'm using... What I still don't understand is how can I configure a VS 2012 (WinForm / Console) project to reference the Windows.UI namespace? Do I have to hardlink the libs?
-
N_A over 11 yearsIs this functionality provided through the WinRT assembly or through the desktop .net assembly?
-
N_A over 11 yearsI don't see any WinRT apis in there. It uses functionality shared between win32 and WinRT, but no actual WinRT.
-
Guillaume86 over 10 yearsIf you copy paste from the answer and get crazy trying to understand why VS wouldn't parse the .proj file, it turned out invisible characters get inserted in the XML just before the last "p" (using Chrome to copy, notepad++ to paste).
-
Nathan Kuchta over 10 years@Guillaume86 Sorry for the badly formed XML, I've fixed the snippet.
-
Guillaume86 over 10 yearsNo problem I didn't know it was fixable, was thinking it was a syntax coloring bug