c# 路径空格---ProcessStartInfo参数问题
今天在整合程序的时候,要从一个程序转到另一个程序 当然要使用:
ProcessStartInfo startInfo = new ProcessStartInfo("\\Program Files\\IE\\IE.exe", s);
Process.Start(startInfo);
不过对于wm来说 不支持Process.Start(string)形式 真汗。
这里的s 是指:
string fullname = treeView1.SelectedNode.FullPath;
// string s = "\"" + @fullName + "\"";
string s = @fullName ;
开始我还傻了吧唧的 吧@\"+ fuluuname 如此使用 结果错误的,@直接跟路径名就好。系统自动辨认。
传递好参数之后,那么怎么使用这个参数呢 :
在被启动程序中
[MTAThread]
static void Main(string[] args)
{
if(string.IsNullOrEmpty(string.Join(" ", args)))
{ Application.Run(new Form1()); }
else
{
Application.Run(new Form1(string.Join(" ", args)));
}
}
这里一定要注意 “ ”之间我是按了一个空格的,args会自动根据空格分成数组如
D:\My Documents 他会分成 arg[0]=D:\My arg[1]=Documents
就因为这个问题我高了一下午,开始还以为自己重写的ie有问题,加上调式wm不是很方便真的郁闷的要死。 空格没有转义字符 只有空字符null有转义字符\0,有时候真的搞不懂网络上那些标题命名为 空格转义字符的人 竟然不具体标明 ,乱转。
在网络中还搜索到了一片
http://www.cnblogs.com/tuyile006/archive/2006/05/09/395193.html
写的不错 不过没有调试 其内容如下:
这几天做一个通讯程序,要通过“运行”开启一个进程
结果有时候可以正常调用,有时候就出现问题
出问题代码如下:
Process p=Process.Start(t_path.Text.ToString(),t_file.Text.ToString());
Process.start()第一个参数是运行的程序名称,后面是该程序参数
如果这两个路径中不含空格的时候就可以正常运行,
如果包含像"D:\Program Files\"或者"G:\Documents and Settings"之类的路径程序就会出问题
原因是在运行行里面 如果运行的程序只接收一个参数,参数里面夹一个空格就相当于回车
也就是说,如果运行输入:c:\aa.exe d:\Program Files\tt.txt
其实运行的是:c:\aa.exe d:\Program
这样肯定会出错了
正确的写法应该是:
Process p=Process.Start("\""+t_path.Text.ToString()+"\"","\""+t_file.Text.ToString()+"\"");
这种写法绝对保险。
调用的时候采用if (args.Length<=0)
{ Application.Run(new Form1()); }
else
{
Application.Run(new Form1(args[0]));
}
在从一个程序 引用另一个程序后 有时候 在单独启动第二个程序就会出现
部署和/或注册失败,错误为: 0x8973190e。 写入文件“%CSIDL_PROGRAM_FILES%\*\*.exe”时出错。错误 0x80070020: 另一个程序正在使用此文件,进程无法访问
的错误 这时候应该
其实这个东东的路径是在我的文档下的\*\*.exe路径下,根本没有任何程序在使用这个文件
在mobile上选择文件--清除保存的状态,然后把mobile退出一下就好了
就是模拟上的file 当然我的是英文版的 然后选择里面的clear的一个类似选项就可以了
你也可以参看
http://www.wmisv.com.cn/bbs/dispbbs.asp?boardID=2&ID=5065
c# 路径空格---ProcessStartInfo参数问题的更多相关文章
- CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器
CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...
- java获取classpath文件路径空格转变成了转义字符%20的问题
java获取classpath文件路径空格转变成了转义字符%20的问题 这个问题很纠结,服务器的文件路径带有空格,空格被转化是%20了,悲剧就出现了 下面展示一段代码String path = get ...
- JS分页 + 获取MVC地址栏URL路径的最后参数
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- Javascript函数中传递带空格的参数
通常在页面中要让某些内容点击后产 生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用Javascript函数的方式:<a href=javascr ...
- Uncaught SyntaxError : Unexpected token ILLEGAL js传递带空格的参数
通常在页面中要让某些内容点击后产生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用JavaScript函数的方式:<a href=javascri ...
- YUI 和路径相关的参数与module加载之间的关系
相关参数默认值 使用YUI, 我们可以配置一些和路径相关参数,如base.root.comboBase.cdn, combine.path.fullpath等属性的配置均会影响到YUI的module加 ...
- JAVA传递带有空格的参数
String s="b2 + b1"; Process child = Runtime.getRuntime().exec("C:\\eclipse-workspace\ ...
- shell函数传递带空格的参数
shell中的参数以空格为分割符,经常会碰到需要传递带空格的参数,例如传递带空格的文件名. 方法很简单:给参数加双引号. 但是实际效果要看你的函数内容,一种可能的情况是: 其实你真的传递进去了带空格的 ...
- os.path.join() - 忽略绝对路径前的参数
os.path.join()会忽略第一个绝对路径之前的参数! 示例: >>> import os >>> os.path.join('/home', 'mushro ...
随机推荐
- Android如何调用第三方SO库
问题描述:Android如何调用第三方SO库:已知条件:SO库为Android版本连接库(*.so文件),并提供了详细的接口说明:已了解解决方案:1.将SO文件直接放到libs/armeabi下,然后 ...
- JS:实用功能
ylbtech-jQuery:函数-导航 添加样式(addClass).移除样式(removeClass) 轮替函数(toggle()) 选项拼加 全选 网页刷点器 jQuery:3.1,添加样式(a ...
- UI篇--Android中TableLayout中的布局
表格布局是按照行列来组织子视图的布局.表格布局包含一系列的Tablerow对象,用于定义行(也可以使用其它子对象).表格布局不为它的行.列和单元格显示表格线.每个行可以包含个以上(包括)的单元 ...
- C++标准库开发心得
最近放弃MFC,改用C++标准库开发产品.毕竟MFC用熟了,马上改用STL还不太习惯.下面列出下总结的改用STL遇到的问题和解决办法: 1.清除空格 remove_if(iterBegin, iter ...
- 重新起步 iOS 开发
25Dec2013 Stanford iOS 公开课看到第三课 Programing in Objective-C 2.0 看完了第一部分,基本是以半小时一章的速度浏览的
- Windows服务-手把手带你体验
Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而 ...
- Hibernate之Session对象的相关方法以及持久化对象的状态
一.持久化对象的状态 站在持久化的角度, Hibernate 把对象分为 4种状态: 持久化状态,临时状态,游离状态,删除状态.Session 的特定方法能使对象从一个状态转换到另一个状 ...
- uc/os学习入门:在32位pc机上搭建编译环境
由于学习ucos的入门资料中所使用的编译器大多都是Borland c ++ 3.1或者Borland c++4.5,为了降低学习的难度最好所用的编译器与书本上的一致.由于4.5版本稍高,所以最终决定用 ...
- [iOS基础控件 - 6.12.3] @property属性 strong weak copy
A.概念 @property 的修饰词 strong: 强指针/强引用(iOS6及之前是retain) weak: 弱智真/弱引用(iOS6及之前是assign) 默认情况所有指针都是强指针 ...
- linux下的调试工具ltrace与strace
ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每个系统调用. 下面是一个ltrace与strace的对比 1)系统调用的输出对比 我们用输出he ...