2

我正在尝试使用 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:\ Program','找不到文件'文件'和'找不到文件'(x86)\EMSO\bin\MultiCSTR_Reaction.mso'。我可以通过命令行打开文件。但是如何通过c++代码打开。

4

1 回答 1

1

尝试文件的路径(第 4 个参数ShellExecute),如下所示:

"\"C:\\Program Files (x86)\\EMSO\\bin\\MultiCSTR_Reaction.mso\""

程序可以采用多个由空格分隔的命令行参数。因此,如果您尝试将包含空格的字符串作为参数传递,您会发现它分成与空格一样多的参数。为避免这种情况,字符串需要用引号括起来。

于 2013-07-03T10:28:15.950 回答