如何使用UWP类库进行脚本编写?

时间:2017-01-14 12:33:53

标签: scripting uwp windows-10

我有一个UWP类库项目(用C#编写),包含一些有用的实用程序类和函数。我想创建一个使用这些类和函数的脚本,并自动每天运行几次。实现这一目标的最佳方法是什么?

我应该创建应用吗?如果是这样,我怎样才能让它每天运行几次?

我应该创建一个经典的控制台exe程序并使用脚本运行它吗?如果是,控制台应用程序可以使用UWP类库吗?

我应该使用后台任务创建Windows运行时组件吗?

或其他一些解决方案?

1 个答案:

答案 0 :(得分:2)

假设您对“脚本”的定义可以延伸到“运行应用程序”,那么您可以做很多事情。如果你想要一些更传统的脚本,你可以做的最好的事情是在标准的.Net类库(而不是UWP)中编译代码,然后从PowerShell脚本中调用它。如果您可以运行应用程序,那么有一些选项,最合适的可能取决于它们运行的​​设备,您希望它们运行的​​频率,以及它们实际执行的操作。

当您谈论UWP应用时,我们应该允许它在不同的“设备系列”上运行。在不同设备(桌面和电话等)上运行的最简单方法是定期执行后台任务。按照您定义的时间间隔,它将尝试并运行。受连通性,电力等影响

因为您说控制台应用程序是一个选项,那么您可能真的只对桌面/ PC环境感兴趣。那是最有选择的地方。

首先,如果您的代码使用UWP / Win10特定的API,那么在不更改代码的情况下可能无法编译到控制台应用程序中。我做了许多像你在问题中描述的事情,并使用控制台应用程序,因为我发现它们最简单。

如果您要更改代码,请考虑使用可移植类库,因为您可以从许多不同类型的应用程序(包括传统桌面和UWP应用程序)链接到该代码。

我会避免创建一个运行时组件,除非你真的需要,因为有很多潜在的陷阱。

您可以从任务计划程序运行任何应用程序,但启动UWP应用程序非常棘手。

您可以通过将任务的操作设置为exe来启动常规应用或脚本。 (或exe并将脚本文件作为参数传递。)

商店中的应用程序没有您可以启动的EXE,因此您需要做更多的事情。它们只能由Windows Shell启动。但是,幸运的是,有一种方法可以做到这一点。让您的任务启动explorer.exe(您将在C:\ Windows中找到它),然后添加参数shell:AppsFolder\[app-PFN]!App
其中[app-PFN]是应用的产品系列名称。您可以通过查看“C:\ Users [username] \ AppData \ Local \ Packages \”

找到计算机上所有已安装应用程序的值

因此,您可以使用此功能启动商店应用。

shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App

Task Scheduler app showing the actions tab including above example