我正在尝试使用ShellExecute命令启动程序并通过c ++代码打开文件。我已经包含了windows.h。我写的代码如下:
ShellExecute(GetDesktopWindow(), "open", "C:\\Program Files (x86)\\EMSO\\bin\\emso.exe","C:\\Program Files (x86)\\EMSO\\bin\\MultiCSTR_Reaction.mso", NULL, SW_SHOWNORMAL);
代码打开可执行文件,但无法打开.mso文件。它会生成一个对话框,说''文件'C:\''找不到'','找不到文件'文件'和'文件'(x86)\ EMSO \ bin \ MultiCSTR_Reaction.mso'找不到'。我可以通过命令行打开文件。但是如何通过c ++代码打开。
答案 0 :(得分:1)
尝试文件的路径(ShellExecute
的第四个参数),如下所示:
"\"C:\\Program Files (x86)\\EMSO\\bin\\MultiCSTR_Reaction.mso\""
程序可以使用以空格分隔的多个命令行参数。因此,如果您尝试传递包含空格作为参数的字符串,您会发现它被分成尽可能多的空格。为避免这种情况,字符串需要用引号括起来。