2012-06-01 49 views
0

我一直在做一個讓自己的IP攝像機彈出的項目。
我有這個工作,但現在要通過命令行啓動這一點,但通過在特定攝像機的IP。
我的編程技巧是有限的,很新的C#
,是以字符串是通過命令行傳遞字符串@啓動到C#的方式

this.textBox_IP.Text = "xxx.xxx.xxx.xxx" 
代碼

我一直停留在這幾天,現在如何在通過該地址,所以在CMDLINE

IpCam.exe xxx.xxx.xxx.xxx 

會有人對如何去這

解決方案
+0

所以簡單來說,加入這個,你想傳遞一個IP地址作爲命令行參數到您的C#應用​​程序? –

+1

您是否嘗試過應用程序設置? – leppie

+0

Google =>「C#如何讀命令行參數」=> http://msdn.microsoft.com/en-us/library/aa288457(v=vs.71).aspx –

回答

8

C#程序的默認啓動方法的簽名是

static void Main(string[] args) 

命令行參數出現在args,所以如果你只是傳遞一個參數

args[0] 

將包含IP地址你的榜樣。

這將是明智的檢查

args.Length >= 1 

,以確保至少有一個參數被輸入。

有關解析命令行更高級的建議,請參閱

Best way to parse command line arguments in C#?

+0

這是不正確的。 – techno

+0

@techno:你認爲哪部分不正確?這對我來說看起來很好,而沒有任何細節的評論是無益的。 –

+0

請參閱我的回答 – techno

0

這是更好地從GUI應用程序的主窗體Load事件做到這一點 其簡單的只是通過該地址作爲命令行參數如:myprogram.exe yourip ,您可以使用

string[] args = Environment.GetCommandLineArgs(); 

args[0]將不包含IP得到參數的IP,它會CONTA在你的程序名myprogram.exe 要獲取IP,你將不得不讀的第二個參數

string myip=args[1]; 

在窗體加載

string myip=null; 
string[] myargs = Environment.GetCommandLineArgs(); 
string myip=myargs[1]; 
textBox_IP.Text =myip; 
+0

所以,很簡單在我收到此錯誤錯誤名爲「ARGS」的局部變量不能被聲明爲雖然使用傳入'Main'的論點,而不是以後檢索它們... –

+0

好吧,當我把上述這個範圍是因爲它會給'args'賦予不同的含義,'args'已經在'父或者當前'範圍中用來表示別的東西。正如我所說的,這是所有新的給我 - 再次感謝所有幫助 – user1430177

+0

@ user1430177「ARGS」的名稱更改爲別的東西,並嘗試 – techno