我想從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