今天在整合程序的时候,要从一个程序转到另一个程序 当然要使用: 
  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. HTML5全球普及加速:有望终结iOS与安卓界限【转】

    HTML5或将成为未来移动互联网时代的颠覆者. 5年前,当第一台iPhone诞生时,乔布斯断然拒绝了FlashPlayer,而选择HTML5(新型网页标准)取代Flash的功能.他曾预言,“虽然现阶段 ...

  2. POJ 2362 Square

    题意:给n个木棍,问能不能正好拼成一个正方形. 解法:POJ1011的简单版……不需要太多剪枝……随便剪一剪就好了……但是各种写屎来着QAQ 代码: #include<stdio.h> # ...

  3. hdu 3341(ac自动机+状态压缩)

    题意:容易理解... 思路:首先一开始容易想到要用到dp,开设一个dp[41][41][41][41][501]的数组来解决,但是明显内存已经超出范围了,于是就想如何减少内存呢?只要知道A.T.C.G ...

  4. 【管理工具】Git的安装与使用

    公司与公司合并,需要学习一下git的使用.从网上找了一篇资料,完全满足需求,先赞一个. http://www.cnblogs.com/Bonker/p/3441781.html 下面记录一下自己的安装 ...

  5. List转换成Json、对象集合转换Json等

    #region List转换成Json /// <summary> /// List转换成Json /// </summary> public static string Li ...

  6. Eclipse编辑java文件报Unhandled event loop exception错误的解决办法

    原因:电脑中安装了杀毒软件,卸掉或者关掉就可以了.我的是直接退出,错误就不产生了.

  7. mapreduce优化总结

    集群的优化 1.合理分配map和reduce任务的数量(单个节点上map任务.reduce任务的最大数量) 2.其他配置 io.file.buffer.size hadoop访问文件的IO操作都需要通 ...

  8. HTML5的manifest缓存

    要使用manifest缓存,我们首先需要写一个manifest文件.这个文件有严格的格式要求,下面是个例子CACHE MANIFEST#我是注释,这个文件名叫test.manifestCACHE:/t ...

  9. mvc JavaScriptResult的用法

    一.JavaScriptResult在MVC中的定义的代码片段   C# 代码   复制 public class JavaScriptResult : ActionResult { public o ...

  10. redis的string类型

    string : string类型是二进制安全的, 可以包含任何数据,比如jpg图片或者序列化的对象 . 方法 : set : 设置key对应的值为string类型的value set  name   ...