2010-02-22 64 views
3

我將從開始運行的參數傳遞到我的Windows應用程序。 我所知道的是你不能超過259個字符。 我在C#中有一個Windows應用程序,我想傳遞參數。 最初我給出了命令行參數,使用enviorment.getcommandlineargs,它成功地工作。 現在,客戶端提出了一個新的要求,即不要進入命令提示符併發送參數,而是從起始行發送(他不會進入命令提示符)。該exe包含長度超過259個字符的參數。如何增加啓動運行命令行的大小來增加目標

我在這種情況下應該如何應對。

+0

好問題。這個肯定是+1。 – Kangkan

+2

您可以將程序更改爲僅接受1參數,該參數是包含所需的其他所有數據/選項的xml文件的路徑。 –

回答

5

如果您擁有很多可配置項目,請使用應用程序配置文件而不是命令行參數。

如果需要,您可以隨時接受配置文件位置作爲命令行參數。

+0

是的,我解釋了我的客戶,它不是一個編程問題,但窗戶的工作方式。所以我要求他把所有的參數都放在記事本(txt)中,然後在那裏寫下論點。 我剛剛閱讀了txt文件並完成了任務。 – cmrhema

1

這裏的簡單勝利是單獨調整你的參數長度。如果您不希望用戶記住參數值,則可以縮短鍵和值。

例如如果您的應用程序以前採用了類似myApp.exe myFirstParam=EnableGui mySecondParam=DataHere的內容,則可以將其簡化爲myApp.exe p1=1 p2=14。除了longhnad版本之外,可以添加這些縮短的參數以保留從具有可識別參數的命令行運行的能力,但會降低新參數所需的字符數。

當然,這可能是因爲您無法縮短參數中的值,但較短的鍵可能會有所幫助。

總是有指定所有參數來調用.bat/.cmd文件的選項。這與提供一個config xml文件有相似的效果,但沒有(不可忽視的)附加編碼要求。

+0

它是一個簡單的瑣事!我認爲期望是得到一個解決方案! – Kangkan

+0

當然,這是簡單的解決方案,但不是生活嗎?結合西蒙P史蒂文斯的配置文件的想法(相當靜態的東西),你可以征服世界! – ZombieSheep

1

您的應用程序是否始終以手動方式啓動?然後,解決方案可能是將其轉換爲WinForms應用程序,並向用戶顯示一個對話框,在其中輸入參數。如果您的程序有時是手動啓動的,有時是以編程方式啓動的,那麼最好的解決方案可能是同時支持:當有命令行參數提供文件時的參數文件,以及沒有時提供的對話框。

順便說一句,當您嘗試輸入超過259個字符到開始 - 運行框中時,您的用戶將遇到問題,它不會接受更多。

+0

我不會去那麼遠。只需製作一個調用它的winforms應用程序即可。稱之爲GUI前端:) – Brian

+0

是的,這可能就夠了。但要做出最好的決定,OP應該已經告訴了我們更多關於應用程序的用途。 –