看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VS2015 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) QT 問題(Question): ShellExecute參數問題 餵入的資料(Input): 想用ShellExecute去打開EXE 但發現寫法會讓程式無法正確開啟 查完MSDN之後不知道問題出在哪 ShellExecute(NULL, L"open", L"TEST.exe", NULL, L"D:\\USER324", SW_SHOWNORMAL); //這個可以正常運作 ShellExecute(NULL, L"open",L"D:\\USER324\\TEST.exe", NULL, NULL,SW_SHOWNORMAL); //這個會不完整打開EXE 問題出在 lpFile[輸入] 類型:LPCTSTR 一個指向指定要執行指定動詞的文件或對象的空終止字符串。要指定一個Shell命名空間 對象,通過完全合格的解析名稱。注意,並非所有動詞都支持的所有對象。例如,不是所 有的文檔類型支持“打印”動詞。如果相對路徑用於lpDirectory參數不要使用lpFile相 對路徑。 lpDirectory[中,可選] 類型:LPCTSTR 一個指向指定了操作的默認(工作)目錄空結尾的字符串。如果該值為NULL,則使用當前 的工作目錄。如果在lpFile提供了一個相對路徑,不要使用lpDirectory相對路徑。 我第二個做法lpFile給了絕對路徑,然後lpDirectory給NULL 理論上應該是跟第一種作法是一模一樣的吧? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.223.125 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1475905041.A.136.html
TobyH4cker: 「無法正確開啟、不完整打開EXE」可以說明清楚嗎? 10/08 17:55
TobyH4cker: 水晶球說你程式有打開可是運作不正常這樣? 10/08 17:55
MOONY135: 沒有完整抓到圖檔 10/08 19:35
EdisonX: 你的圖檔的路徑是在??有和 lpDirectionory 相依 ? 10/10 00:07
MOONY135: 圖檔在L"D:\\USER324 也就是目前運行的EXE的上一層 10/10 17:31
TobyH4cker: USER324是跟EXE同一層吧 10/11 18:23
TobyH4cker: 哦的上一層所以是D:就是了 10/11 18:24
TobyH4cker: 答案很明顯吧 10/11 18:24
TobyH4cker: Working Directory 10/11 18:25
MOONY135: 感恩 10/11 20:54