2012-12-04 67 views
3

我創建了一個全新的,香草c#Windows 8商店應用程序。在App()函數中,我放置了一行代碼來收集命令行參數。 IDE抱怨GetCommandLineArgs()不是Environment的一部分。Windows 8商店應用程序中的Environment.GetCommandLineArgs

public App() 
{ 
    this.InitializeComponent(); 
    this.Suspending += OnSuspending; 

    String[] arguments = Environment.GetCommandLineArgs(); 
} 

This page上微軟的網站似乎表明,這是支持.NET 4.5。是什麼賦予了? (我可以在技術上將args作爲一個App()參數收集起來,但我不想這樣做,其他代碼行也會這樣調用,而且我寧願將它們保留爲「原樣」。只是好奇,爲什麼這是行不通的,似乎應該。

+0

好奇......如果您完全符合條件,該怎麼辦? –

+0

但它在Windows應用商店應用中不受支持。他們是不同的。如果是這樣的話,版本信息中會有一個部分,如「Windows應用商店應用程序的.NET」 –

+0

如果您查看[Environment Class](http://msdn.microsoft.com/zh-cn/library/z8te35sa.aspx )通過查看名稱 –

回答

0

如果你讀的Environment Class描述,明確指出,該API僅適用於以下操作系統的

平臺

Windows 8,Windows Server 2012,Windows 7,Windows Vista SP 2,Windows Server 2008(服務器核心角色不支持),Windows Server 2008 R2(服務器核心角色支持SP1或更高版本; Itanium不支持)

.NET Framework不支持所有平臺的所有版本。有關受支持版本的列表,請參閱.NET Framework系統要求。

儘管只有Windows Store應用程序支持標有存儲符號的功能。

功能對非的WinRT/Windows應用商店的應用程序

enter image description here

它並沒有真正有意義的Windows Store應用程序有Environment.GetCommandLineArgs Method,因爲Windows應用商店的應用程序

enter image description here

功能人們無法真正將命令行參數傳遞給Windows應用商店。

WinRT/Windows store appsEnvironment類中只有5個屬性和一個方法可用。

屬性

  1. CurrentManagedThreadId
  2. HasShutdownStarted
  3. NewLine
  4. ProcessorCount
  5. TickCount

方法

+0

「Windows API」左側的圖標,可以查看Windows應用商店應用程序支持哪些方法/屬性......? – BoltClock

+0

@BoltClock我的意思是說除WinRT/Windows Store應用程序API外。 – Mayank

1

你將如何在一個參數傳遞給Windows商店應用在命令行上?例如,如果您有次要切片(例如波士頓的天氣和檀香山的天氣 - 同一個應用,不同的參數),最接近的模擬可能是LaunchActivatedEventArgs

查看How activate an app瞭解更多詳情。

針對託德的第一條評論進行了更新。

你要找的是File Activation。你可以指出你的文件知道如何處理,比如.txt文件。當用戶右鍵單擊文件資源管理器中的.txt文件時,您的應用程序將顯示爲「打開方式..」選項。當用戶選擇您的應用作爲他/她想用來處理文件的應用時,您的應用將啓動(或者只是在已經運行的情況下激活),並且它的OnFileActivated事件將觸發,通過該事件您可以訪問文件,被選中。

+0

我的計劃是在Windows資源管理器中右鍵單擊一個文件,然後啓動應用程序並處理該文件。 –

+0

更新了「答案」以解決您的目標 –

相關問題