通过用 c++/CX 编写的 UWP 设置时间
Setting the time through a UWP written in c++/CX
我们是 运行 我们设备上的一个 "assigned access" 应用程序,不使用网络连接。产品启动并立即在 Windows 10 build 1703 上运行我们公司的 UWP 应用程序。
此设备是国际设备,需要根据当前地区和当地 DST 规则设置时间和日期。
由于默认情况下 UWP 应用程序是沙盒的,因此此类系统调用通常不可用。然而,这个应用程序永远不会被放置在商店中,那么我们是否可以使用任何解决方法来允许设置时间,因为我们不需要遵守商店规则? ("full-trust" UWP 应用程序?我知道这可能仅限于转换后的 win32 应用程序)
目前时间和日期是通过Windows::Globalization::Calendar方法读取的,但是这个没有"setter"方法(估计是由于应用限制)
另一种可能是从设置时间的应用程序启动 win32 应用程序;也许将时间和日期作为命令行参数传递。这是最好的解决方案吗?它真的有效吗?
可以向应用程序清单添加任何可能启用此功能的内容吗?
无法设置日期和时间对我们的特定应用程序来说是一个很大的限制,因为它使用时间戳等。
我认为您最好使用 WPF,然后通过桌面桥将其移植到商店。
WPF 与 uwp 非常相似,但没有沙箱,您可以在 blend 上创建一个新的 wpf 项目,并使用您在 uwp 应用程序中使用的相同 xaml。
这仅适用于 desktops 和 Surface hub,所以请记住。
ps:从 uwp 启动 win32 应用程序是可能的,但它也会将其限制为仅限桌面,因此无论如何您最好还是使用 WPF。
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root
This app will never be placed in the store
您可以考虑使用 Brokered Windows Runtime Components。这是通过允许侧面加载的通用 Windows 平台应用程序与应用程序容器外部的桌面进程进行互操作来实现的。
这篇关于 Cheat-Sheet for using Brokered Windows Runtime Components for side-loaded Windows Store apps 的博客也供您参考。
这里有一个代码示例供您参考:https://code.msdn.microsoft.com/windowsapps/Brokered-Windows-Runtime-9d64cada
我们是 运行 我们设备上的一个 "assigned access" 应用程序,不使用网络连接。产品启动并立即在 Windows 10 build 1703 上运行我们公司的 UWP 应用程序。
此设备是国际设备,需要根据当前地区和当地 DST 规则设置时间和日期。
由于默认情况下 UWP 应用程序是沙盒的,因此此类系统调用通常不可用。然而,这个应用程序永远不会被放置在商店中,那么我们是否可以使用任何解决方法来允许设置时间,因为我们不需要遵守商店规则? ("full-trust" UWP 应用程序?我知道这可能仅限于转换后的 win32 应用程序)
目前时间和日期是通过Windows::Globalization::Calendar方法读取的,但是这个没有"setter"方法(估计是由于应用限制)
另一种可能是从设置时间的应用程序启动 win32 应用程序;也许将时间和日期作为命令行参数传递。这是最好的解决方案吗?它真的有效吗? 可以向应用程序清单添加任何可能启用此功能的内容吗?
无法设置日期和时间对我们的特定应用程序来说是一个很大的限制,因为它使用时间戳等。
我认为您最好使用 WPF,然后通过桌面桥将其移植到商店。
WPF 与 uwp 非常相似,但没有沙箱,您可以在 blend 上创建一个新的 wpf 项目,并使用您在 uwp 应用程序中使用的相同 xaml。
这仅适用于 desktops 和 Surface hub,所以请记住。
ps:从 uwp 启动 win32 应用程序是可能的,但它也会将其限制为仅限桌面,因此无论如何您最好还是使用 WPF。
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root
This app will never be placed in the store
您可以考虑使用 Brokered Windows Runtime Components。这是通过允许侧面加载的通用 Windows 平台应用程序与应用程序容器外部的桌面进程进行互操作来实现的。
这篇关于 Cheat-Sheet for using Brokered Windows Runtime Components for side-loaded Windows Store apps 的博客也供您参考。
这里有一个代码示例供您参考:https://code.msdn.microsoft.com/windowsapps/Brokered-Windows-Runtime-9d64cada