Information: Get package information, System information, hardware information, PNP information, common equipment information
Introduced
Re-imagine the information for Windows 8 Store Apps
Get package information
Get System Information
Getting hardware information
Get information for devices with Plug and Play (Pnp:plug)
Get Common device information
Example
1, demo How to obtain the package information of the app
Information/packageinfo.xaml.cs
* * Demonstrates how to obtain the package information of the app * * using System;
Using Windows.applicationmodel;
Using Windows.UI.Xaml.Controls;
Using Windows.UI.Xaml.Navigation;
Namespace Xamldemo.information {public sealed partial class Packageinfo:page {public PackageInfo () {this.
InitializeComponent (); } protected override void Onnavigatedto (NavigationEventArgs e) {Package Package = Packag
E.current; PackageID PackageID = package.
Id; Lblmsg.text = "Name:" + packageid.name;
Package name Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Version:" + packageid.version;
Version information Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Architecture:" + packageid.architecture;
Supported CPU types (X86, ARM, X64, Neutral (all supported), Unknown) Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Publisher:" + packageid.publisher; Published by Lblmsg.
Text + Environment.NewLine; Lblmsg.text + = "PublisherID:" + Packageid.publisherid;
Publisher ID Lblmsg.text + = environment.newline; Lblmsg.text + = "FullName:" + packageid.fullname;
Package Full Name (name + Version + architecture + publisherid) Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Familyname:" + packageid.familyname;
Package Series name (name + publisherid) Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Installed Location Path:" + package. Installedlocation.path; Installation path for package}}}
2, demonstrate how to obtain information about the system
Information/systeminfo.xaml.cs
* * Demonstrates how to obtain the relevant information about the system * * using System;
Using System.Globalization;
Using System.Threading.Tasks;
Using WINDOWS.DEVICES.ENUMERATION.PNP;
Using Windows.UI.Xaml.Controls;
Using Windows.UI.Xaml.Navigation;
Using System.Linq;
Namespace Xamldemo.information {public sealed partial class Systeminfo:page {public SystemInfo () {this.
InitializeComponent (); } protected async override void Onnavigatedto (NavigationEventArgs e) {lblmsg.text + = "CP
U Core Quantity: "+ Environment.ProcessorCount.ToString" ();
Lblmsg.text + = Environment.NewLine;
Lblmsg.text + = "The number of milliseconds that the system has been through since its last startup:" + Environment.tickcount;
Lblmsg.text + = Environment.NewLine;
Lblmsg.text + = "Current language:" + CultureInfo.CurrentCulture.DisplayName;
Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Current time:" + DateTime.Now.ToString ("yyyy mm month DD Day HH:MM:SS") + "Week" + "Day 1234567". Substring ((int)
DateTime.Now.DayOfWeek, 1);
Lblmsg.text + = Environment.NewLine;
Lblmsg.text + = "Current time zone:" + "UTC" + DateTimeOffset.Now.ToString ("%k");
Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Current system version number:" + (await Getwindowsversionasync ()).
ToString (); #region get the current system version number, excerpted from: http://attackpattern.com/2013/03/device-information-in-windows-8-store-apps/p ublic static async task<string> Getwindowsversionasync () {var Hal = await Gethaldevice (devicedr
Iverversionkey); if (HAL = null | |!hal.
Properties.containskey (devicedriverversionkey)) return null; var versionparts = Hal. Properties[devicedriverversionkey]. ToString ().
Split ('. '); return string. Join (".", Versionparts.take (2).
ToArray ()); private static Async task<pnpobject> Gethaldevice (params string[] properties) {var ac Tualproperties =Properties.
Concat (new[] {deviceclasskey});
var rootdevices = await Pnpobject.findallasync (Pnpobjecttype.device, actualproperties, rootquery);
foreach (Var rootdevice in Rootdevices.where (d => d.properties!= null && d.properties.any ()))
{var lastproperty = RootDevice.Properties.Last (); if (lastproperty.value!= null) if (lastProperty.Value.ToString ().
Equals (Haldeviceclass)) return rootdevice;
return null;
Const string Deviceclasskey = "{a45c254e-df1c-4efd-8020-67d146a850e0},10";
Const string Devicedriverversionkey = "{a8b865dd-2e3d-4094-ad97-e593a70c75d6},3";
Const string Rootcontainer = "{00000000-0000-0000-ffff-ffffffffffff}";
Const string rootquery = "system.devices.containerid:=\" "+ Rootcontainer +" \ "; Const string Haldeviceclass = "4d36e966-e325-11ce-bfc1-08002be10318 "; #endregion}}
3. Demonstrate how to obtain hardware-related information
Information/hardwareinfo.xaml.cs
* * Demonstrates how to obtain hardware-related information * * using System;
Using Windows.Storage.Streams;
Using Windows.System.Profile;
Using Windows.UI.Xaml.Controls;
Using Windows.UI.Xaml.Navigation;
Namespace Xamldemo.information {public sealed partial class Hardwareinfo:page {public Hardwareinfo () {this.
InitializeComponent (); } protected override void Onnavigatedto (NavigationEventArgs e) {Hardwaretoken Hardwareto
Ken = Hardwareidentification.getpackagespecifictoken (NULL); Lblmsg.text = "Id:" + buffer2base64 (hardwaretoken.id);
Hardware ID Lblmsg.text + = Environment.NewLine;
Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Signature:" + buffer2base64 (hardwaretoken.signature);
Hardware signature Lblmsg.text + = Environment.NewLine;
Lblmsg.text + = Environment.NewLine; Lblmsg.text + = "Certificate:" + buffer2base64 (hardwaretoken.certificate);
Hardware Certificate private string Buffer2base64 (Ibuffer buffer) {using (var DataReader = DataReader. Frombuffer (buffer) {try {var bytes = new Byte[buffer.
Length];
Datareader.readbytes (bytes);
Return convert.tobase64string (bytes); catch (Exception ex) {return ex.
ToString (); }
}
}
}
}