2017-01-14 21 views
1

我有一個UWP類庫項目(用C#編寫)和一些有用的實用程序類和函數。我想創建一個使用這些類和函數的腳本,並且每天自動運行幾次。達到此目的的最佳方法是什麼?如何使用UWP類庫進行腳本編寫?

我應該創建一個應用程序嗎?如果是這樣,我怎樣才能讓它每天運行幾次?

我應該創建一個經典的控制檯EXE程序並使用腳本運行它嗎?如果是,控制檯應用程序可以使用UWP類庫嗎?

我應該創建一個Windows運行時組件與後臺任務?

或其他一些解決方案?

回答

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 [用戶名] \ AppData \ Local \ Packages \」找到所有安裝的應用程序在您的機器上的值。

shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App 

Task Scheduler app showing the actions tab including above example