我在调用WinRAR时,遇到了这样一个问题,不知道有没有人碰到过:
在winrar 命令格式中,是用空格来作为文件间隔的,而windows中有一个很特殊的文件夹Documents and Settings,winrar在运行时,会把它看成三个文件,导致出错,请问有什么解决办法?谢谢!ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt D:\ttt.doc),nil, SW_HIDE);
时能正确运行,
而
ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt C:\Documents and Settings\ttt.doc),nil, SW_HIDE);
就不对了!
在winrar 命令格式中,是用空格来作为文件间隔的,而windows中有一个很特殊的文件夹Documents and Settings,winrar在运行时,会把它看成三个文件,导致出错,请问有什么解决办法?谢谢!ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt D:\ttt.doc),nil, SW_HIDE);
时能正确运行,
而
ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt C:\Documents and Settings\ttt.doc),nil, SW_HIDE);
就不对了!
你试试:
ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt C:\Docume~1\ttt.doc),nil, SW_HIDE);
不过还是不行,恐怕不是长文件名问题.
winrar错误提示是:! 无法打开 C:\documents
系统找不到指定的文件。
! 无法打开 and
系统找不到指定的文件。
! 无法打开 Settings\1.doc
系统找不到指定的路径。
! 没有文件被添加
ShellExecute(handle,'open',pchar('winrar'),pchar('a D:\ttt\a.rar D:\ttt.doc'),nil, SW_HIDE);
测试通过