我有14個參數通過命令行傳入。然而,第一個似乎由於某種原因被切斷,並沒有達成startupeventargs.args。startupeventargs.args數組的限制?
StartupEventArgs e字符串數組的大小是多少?
protected override void OnStartup(StartupEventArgs e)
{
ParseArguments(e.Args);
}
private static void ParseArguments(string[] args)
{
//args[args.Length + 1] = "-sn";
Log.Write("Parsing {0} arguments...", args.Length);
// Parse the command line arguments
for (int i = 1; i < args.Length; i++)
{
//test Log.Write(args[i]);
switch (args[i - 1])
{
case "-sn":
// Parse the show name
ShowName = args[i];
break;
//...
編輯: 它是從C++編寫的其他應用調用:
sprintf(szCommandLine, "-sn %n -sd %s -w %d -h %d -t %d -l %d -th %d",
szWebShow, szBaseDir, iWidth, iHeight, iTop, iLeft, threadID);
if(CreateProcess(PLAYWEB_EXE,szCommandLine, NULL, NULL, FALSE,
DETACHED_PROCESS, NULL, NULL, &startInfo, &procInfo)) {
Log(LOGSTR("Web Show Started: %s ", szCommandLine));
命令行: (路徑.EXE)-sn 「M000018 \ 33.9999-2815-8-WS001」 -sd C:在C#\播放器\ Shows2 -w 1280個-h 720 -t 0 -l第0 1
檢查您訪問的第一個項目是這樣的:'e.Args [0 ]'(因爲數組是基於零)或在foreach循環內 – WerWet
我添加了我如何解析它 – john
顯示如何從命令行調用它,是否像缺少引號那樣簡單? – tony