初步判断是调用ShellExecute这个函数时没有指定缺省目录。请参考该Api参数意义,并将缺省目录指定为exe文件所在目录。
ShellExecute打开非程序文件,一些参数必须是指定设置,否则打不开。如:Parameters: PChar; //给要打开的程序指定参数; 如果打开的是文件这里必须是 null更多设定参考帮助文档。