1.调用外部程序的时候,有时候遇到有一些程序不支持深层次的中文目录,如何解决?比如调用MP4BOX时,mp4box -fps 23.976 -add c:\123.h264 out.pmp可以成功执行
但,mp4box -fps 23.976 -add C:\Documents and Settings\moluzhao\桌面\123.h264 out.pmp就不执行了当然,这个不是VB本身的问题,直接在cmd下也是一样的问题。但问题是,碰到此类程序有没有什么好的解决方法?
把文件临时移动到浅目录再执行,执行完再弄回去?2.关于执行费事的代码的问题,有没有办法让代码在后台执行,而不让界面停止响应呢?比方说我想设计一个“取消”什么问题如果比较初级,请各位大侠千万别笑啊

解决方案 »

  1.   

    "C:\Documents and Settings\....",这种文件夹带空格,可能是因为这个,建议换个不带空格的文件夹路径
      

  2.   

    (1)参数带上引号,比如 C:\>dir "c:\documents and settings\administrator"
    或者采用短文件名,比如 c:\docume~1\admini~1
    (2)使用DoEvents语句,比如:
    For i = 1 To 100000000
        ...
        DoEvents
    Next
      

  3.   

    mp4box -fps 23.976 -add C:\Documents and Settings\moluzhao\桌面\123.h264 out.pmp
    不是汉字文件夹的问题,是带空格文件夹的问题,带空格文件夹用时要加双引号.
    mp4box -fps 23.976 -add "C:\Documents and Settings\moluzhao\桌面\123.h264" out.pmp
      

  4.   

    1,mp4box -fps 23.976 -add "C:\Docume~1\moluzhao\桌面\123.h264" out.pmp
    2,doevents
      

  5.   

    用双引号包括一个带空格的路径,在 VB 字符串中用连续两个双引号表示一个双引号。
    shell "mp4box -fps 23.976 -add ""C:\Documents and Settings\moluzhao\桌面\123.h264"" out.pmp"
      

  6.   

    把目录用双引号引起来。。不信你在CMD下试试