2016-07-14 13 views
1

Wir haben Windows 10-Anwendung und wir versuchen, Zeitzone auf dem System zu ändern.Windows 10-Anwendung - iot systemManagement-Fähigkeit

Ich habe eine Dokumentation darüber gefunden, dass IOT-Erweiterungen in das Projekt aufgenommen wurden, was grundlegende Systemverwaltungsfunktionen geben würde.

https://msdn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations

https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.timezonesettings.changetimezonebydisplayname

Bisher scheiterte ich die Erlaubnis, etwas (Neustart-System, ändern Zeitzone usw.) zu tun, immer Auth Ausnahme zu erhalten.

Dies ist, was ich versucht habe:

manifestieren (wichtige Teile):

<Package 
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" 
    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" 
    xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" 
    IgnorableNamespaces="uap mp iot"> 

<Dependencies> 
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" /> 
    <TargetDeviceFamily Name="Windows.IoT" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" /> 
    </Dependencies> 

<Capabilities> 
    <iot:Capability Name="systemManagement" /> 
    </Capabilities> 
</Package> 

Code:

Boolean canChange = Windows.System.TimeZoneSettings.CanChangeTimeZone; 
Windows.System.TimeZoneSettings.ChangeTimeZoneByDisplayName("(UTC+13:00) Samoa"); 

IOT Referenz

+1

Wird dies tatsächlich auf einem Windows IOT-Gerät ausgeführt? –

+0

Es läuft auf Windows 10 Tablet. Einige der Methoden sind verfügbar, wie zum Beispiel: https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.timezonesettings.supportedtimezonedisplaynames.aspx?cs-save-lang=1&cs-lang= javascript # code-snippet-1, var supportedTimeZoneDisplayNames = Windows.System.TimeZoneSettings.supportedTimeZoneDisplayNames; Dies funktioniert und listet alle Zeitzonen auf.Wenn ich die Methode zum Ändern der Zeitzone anrufe, erhalte ich eine nicht autorisierte Ausnahme. Dies lässt mich glauben, dass diese Methoden in regulären Windows 10 vorhanden sind und ich nur Berechtigungen benötigen. –

+2

Scheint, es gibt keine Möglichkeit, dies in normalen Windows 10 zu arbeiten. –

Antwort

1

IOT Projekt hinzugefügt: als Jackie sagte: "Nicht sicher, es wird funktionieren. Aber der Punkt ist IoT Erweiterung ar e nur für Windows IOT-Geräte“gemeint

Allerdings habe ich eine Abhilfe finden ...

Wenn jemand andere Begegnungen dieses Problem.

Ich habe einen lokalen leichten NancyFX-Webdienst ausgeführt, der Zugriff auf Systemeinstellungen hat. Von einer UWP-Anwendung werde ich API-Anrufe machen und Systemeinstellungen auf diese Weise ändern.

sehen http://nancyfx.org/ und Selbst Beispiel Hosting

Auch wenn localhost von Rand aufrufen, müssen Sie eine Loopback-App Ausnahme Setup benötigen, finden Sie https://loopback.codeplex.com/ und https://msdn.microsoft.com/en-us/library/windows/apps/hh780593.aspx

ziemlich alles, was danach funktioniert.

+1

das klingt genial. – Jackie

1

Alte Bedrohung, aber wenn ich nach meiner Lösung für dieses IoT-SystemManagement-Manifest suche stolpere ich in diese. Ich benutze VS2017. Mein Fix ist Code-Manifest manuell anzeigen. Dann fügen Sie diese Zeile

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" 
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" 
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" IgnorableNamespaces="uap mp uap4 iot"> 

<Capabilities> 
    <iot:Capability Name="systemManagement"/> 
<Capabilities> 

* Erinnern Sie nur 1 Capabilites erklären kann also, wenn Sie erklären, hatte gerade neue hinzufügen.

Dann

mit diesem Code-Fähigkeit in Manifest hinzufügen und zzgl gehen referenz> Erweiterung hinzufügen Windows-IoT-Erweiterungen für die UWP-Version wählen 10.0.10586.0 * auch Sie haben neuere Version muss diese wählen zu arbeiten.