我想从C++程序运行一个可执行文件。我已查找并找到2个选项:
system(“C:\ filepath \ file.exe”); ShellExecute(GetDesktopWindow(),“open”,“C:\ filepath \ file.exe”,NULL,NULL,SW_SHOWNORMAL);
一切都很美,除非它不起作用。
对于第一个选项,除了windows.h,我还必须包含cstdlib,否则我的代码不会生成。
当我运行程序时,我得到的错误:
“的file.exe”不被识别为一个内部或外部命令
我已经设置了公共语言运行库支持(/ CLR)选项为我的项目(和我还必须为运行时库设置多线程调试DLL(/ MDd)选项,否则将不会生成)。
即使包含两个库,第二个选项也不会生成。我得到错误:
错误C3861:“ShellExecute的”:标识符找不到
我使用的Windows7上VS2010 - 并希望这对多平台的工作...
C++执行外部进程
我要求太多了?
谢谢。
如果您希望这是多平台,则不能使用特定于Windows的ShellExecute。你的'system'命令是正确的。这听起来像你给它一个不正确的道路。 – Borealid 2012-02-24 23:14:08
尝试在'system()'的字符串参数中转义反斜杠:'system(“C:\\ filepath \\ file.exe”);'。机会是你的第一个代码片段将按预期工作。 – 2012-02-24 23:15:25
我确实逃过了\\,而我的路径是正确的 – Thalia 2012-02-24 23:19:44