我有个程序要处理文件,当然要处理用户拖文件到程序图标上这种情况,可是我发现shell将两个命令用空格分开,例如拖两个文件到程序图标上,那么启动程序后得到的命令行就是两个文件的路径和文件名,用空格分开,可是遇到文件名中有空格的情况怎么办,光凭空格来解析命令行好像不行了。好像也不能先找到.号,然后遇到空格就认为一个文件名结束,因为有些文件没有后辍。

解决方案 »

  1.   

    可是拖动多个文件到图标上,得到的m_lpCmdline中的文件名就是以空格分开的,如何让系统用逗号分隔啊!各位能不能告诉我关键的地方,在一字符串中查找逗号或空格我还是会的。
      

  2.   

    我建议你到微软站点上把有个叫msxsl.exe 的源代码下载回来看看,它里面对命令行的解析类非常实用,可以解析unix及windows格式的命令行
      

  3.   

    to bobob(COM中……),没有扩展名的文件呢?
    问题解决了!
    这得归功于微软,如果拖到应用程序上的文件名有空格,它会在这个文件名两头加分号,如下:
    "c:\1 2.txt" c:\23.txt
    这样查找空格即可,并记录分号的个数,如果为奇数个,则忽略找到的空格继续。