今天在整合程序的时候,要从一个程序转到另一个程序 当然要使用: 
  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参数问题的更多相关文章

  1. CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器

    CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...

  2. java获取classpath文件路径空格转变成了转义字符%20的问题

    java获取classpath文件路径空格转变成了转义字符%20的问题 这个问题很纠结,服务器的文件路径带有空格,空格被转化是%20了,悲剧就出现了 下面展示一段代码String path = get ...

  3. JS分页 + 获取MVC地址栏URL路径的最后参数

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  4. Javascript函数中传递带空格的参数

    通常在页面中要让某些内容点击后产 生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用Javascript函数的方式:<a href=javascr ...

  5. Uncaught SyntaxError : Unexpected token ILLEGAL js传递带空格的参数

    通常在页面中要让某些内容点击后产生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用JavaScript函数的方式:<a href=javascri ...

  6. YUI 和路径相关的参数与module加载之间的关系

    相关参数默认值 使用YUI, 我们可以配置一些和路径相关参数,如base.root.comboBase.cdn, combine.path.fullpath等属性的配置均会影响到YUI的module加 ...

  7. JAVA传递带有空格的参数

    String s="b2 + b1"; Process child = Runtime.getRuntime().exec("C:\\eclipse-workspace\ ...

  8. shell函数传递带空格的参数

    shell中的参数以空格为分割符,经常会碰到需要传递带空格的参数,例如传递带空格的文件名. 方法很简单:给参数加双引号. 但是实际效果要看你的函数内容,一种可能的情况是: 其实你真的传递进去了带空格的 ...

  9. os.path.join() - 忽略绝对路径前的参数

    os.path.join()会忽略第一个绝对路径之前的参数! 示例: >>> import os >>> os.path.join('/home', 'mushro ...

随机推荐

  1. iOS - GIF图的完美拆解、合成、显示

    转:http://blog.csdn.net/marujunyy/article/details/14455699 最近由于项目需要,需要先把gif图拆解开,然后在每一张图片上添加一些图片和文字,最后 ...

  2. [Papers]NSE, $u_3$, Lebesgue space [Jia-Zhou, NARWA, 2014]

    $$\bex u_3\in L^\infty(0,T;L^\frac{10}{3}(\bbR^3)). \eex$$

  3. Devexpress DateEdit选年月 z

    Mask与Display只显示年月2012-02这种格式,但用户选择起来还是不爽,体验太差. 效果如下: 代码: using Microsoft.VisualBasic; using System; ...

  4. HDU-1584 蜘蛛牌(dfs)

    可以多看看. 蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. SSH超时断开(ClientAliveInterval和ClientAliveCountMax )的使用

    有 2个方法 1 配置服务器 打开 /etc/ssh/sshd_config 找到 ClientAliveInterval 参数,如果没有就自己加一行 数值是秒,比如你设置为300,就是5分钟. Cl ...

  6. 《Python 学习手册4th》 第十七章 作用域

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  7. VC++6.0连接Access数据库

    建立一个连接数据库的类: 1.头文件:ADOConn.h #import "C:\Program Files\Common Files\System\ado\msado15.dll" ...

  8. 【windows核心编程】一个API拦截的例子

    API拦截 修改PE文件导入段中的导入函数地址 为 新的函数地址 这涉及PE文件格式中的导入表和IAT,PE文件中每个隐式链接的DLL对应一个IMAGE_IMPORT_DESCRIPTOR描述符结构, ...

  9. 怎么利用SQL语句查询数据库中具体某个字段的重复行

    select * from [tablename] group by SeriNohaving count(SeriNo)<>1

  10. Spark系列(七)Master中的资源调度

    资源调度 说明: Application的调度算法有两种,分别为spreadOutApps和非spreadOutApps spreadOutApps 在spark-submit脚本中,可以指定要多少个 ...