C# Start()使用问题记录
来源:互联网 发布:开淘宝店的好处 编辑:程序博客网 时间:2024/06/07 03:07
C# Start()使用问题记录
似乎已经完全按照要求,赋值了相关属性的数据,但是Start还是运行有问题。例如:提示 The directory name is invalid 等等。
需要注意:
运行的程序要给出全部的路径名 fullpathname。Process.StartInfo.FileName
如果下列参数为真,可能还需要给出工作目录名Process.StartInfo.WorkingDirectory:
Process.StartInfo.UseShellExecute = false; //false : no needProcess.StartInfo.WorkingDirectory
参数中不可以有重定向的字符,重定向需要设置StartInfo的其它属性才可以实现:
Process.StartInfo.Arguments = "... >> my.log"
如果使用 Process.StartInfo.FileName = "CMD"
Process.StartInfo.Arguments = """ + @"/C" + @"...." + """
参数部分可能需要应该作为整体的一个字符串,引号起来。这时,CMD启动的程序可以使用重定向,但不是CMD命令被重定向了。
有的程序只能识别8个有效的文件或目录名,需要ShortName转换一下。
如果Start的文件名和参数比较复杂,
最好使用,如下方法:
string tempbatfilename = Path.GetTempFileName() + ".bat"; //Creat a bat file
// get your CommandLineText & CommandArguments
using (StreamWriter swtmp = File.CreateText(tempbatfilename))
{
swtmp.WriteLine(CommandLineText + " " + CommandArguments);
}
using (StreamWriter swtmp = File.CreateText(tempbatfilename))
{
swtmp.WriteLine(CommandLineText + " " + CommandArguments);
}
......
try
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = tempbatfilename;
myProcess.Start();
{
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = tempbatfilename;
myProcess.Start();
}
...
finally
{
File.Delete(tempbatfilename);
}
0 0
- C# Start()使用问题记录
- C# 解决使用Process.Start()函数打开url被360拦截问题
- C# Process.Start() 传递多参数问题。
- C#学习问题记录
- C#使用Mysql记录
- [问题记录]log4j使用记录
- c#文件乱码问题记录
- html C# 开发问题记录
- Ubuntu使用问题记录,
- CANoe使用问题记录
- ubuntu使用问题记录
- SolrCloud使用问题记录
- solrcloud使用问题记录
- ThinkPHP使用问题记录
- Jira使用问题记录
- solrcloud使用问题记录
- Easyui使用问题记录
- LitePal使用问题记录
- cocos2dx TextFieldTTF
- Move Zeroes
- @SuppressWarnings注解
- 修改eclipse中Android工程的sdk
- hibernate初探
- C# Start()使用问题记录
- Web前端前沿技术专业术语解读
- Tour uvalive3305
- 【HDU 5551】【大水】Huatuo's Medicine
- 底面接口形状的柱体
- 【B/S】——初识CSS
- 项目实战:iOS极光推送集成(30分钟搞定)
- Android学习(二)--第二个项目遇到的问题
- nginx配置文件nginx.conf解读