what kind of app is "project"? is it a managed program too? the following works form me1. project.cs:using System;class TestProject
{
public static void Main(string[] args)
{
foreach (string s in args)
Console.WriteLine(s); Console.ReadLine();
}
}2. testproject.csusing System;
using System.Diagnostics;class TestProject2
{
public static void Main()
{
string run_name="project.exe";
string mes="1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxx1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyy1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzzz";Process process=new Process();
process.EnableRaisingEvents=true;
process.StartInfo.FileName=run_name;
process.StartInfo.Arguments=mes;
process.Start(); }
}
{
public static void Main(string[] args)
{
foreach (string s in args)
Console.WriteLine(s); Console.ReadLine();
}
}2. testproject.csusing System;
using System.Diagnostics;class TestProject2
{
public static void Main()
{
string run_name="project.exe";
string mes="1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxx1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayyyy1111111111111222222222222223333333333333333333334444444444444445555555555aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzzz";Process process=new Process();
process.EnableRaisingEvents=true;
process.StartInfo.FileName=run_name;
process.StartInfo.Arguments=mes;
process.Start(); }
}
project.exe是一个可接受两个参数可执行程序。有Email,我发给你!
若在快捷方式 Project.exe的属性中目标输入:
D:\wxg\C#\zdfb\zdfb\bin\Debug\Project.exe my.wav 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
可以运行,
但两个参数一后面的放在mes中就不行
mes="my.wav aa22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
1. project.cs:using System;class TestProject
{
public static void Main(string[] args)
{
Console.WriteLine(args.Length);
foreach (string s in args)
{
Console.WriteLine("{0}\nsize:{1}\n\n", s, s.Length);
//Console.ReadLine();
}
}
}2. testproject.cs:
using System;
using System.Diagnostics;
using System.Text;class TestProject2
{
public static void Main()
{
string run_name="project.exe";string mes="my.wav aa22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222";Console.WriteLine(mes.Length);Process process=new Process();process.StartInfo.FileName=run_name;
process.StartInfo.UseShellExecute = false;
process.StartInfo.Arguments=mes;
process.Start(); }
}3. here is the output on my machine:E:\labs\csharp>
2
my.wav
size:6aa22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
size:205
一个参数是传进的播放wav文件,第二个参数是提示的内容。
del %1
我找到原因了,是传进的参数有空格分开,当作了后面的第三第四个参数。