2011-02-24 61 views
0

目前我的代碼中的路徑是硬編碼的。我想根據用戶選擇的安裝路徑使其動態化。如何在visual C++中使用TARGETDIR?

如何使用TARGETDIR我的代碼在這裏裏面:

 SHELLEXECUTEINFO info = {0}; 
    info.cbSize = sizeof(SHELLEXECUTEINFO); 
    info.fMask = SEE_MASK_NOCLOSEPROCESS; 
    info.lpFile = _T("C:\\PROGRA~1\\APPY\\IECapt.exe"); 
    info.lpParameters = full; 
    info.nShow = SW_HIDE; 

回答

2

TARGETDIR是您的.EXE文件鏈接目錄的路徑。它只在編譯時纔可用。你想獲得安裝目錄,所以TARGETDIR沒有用。

GetModuleFileName()爲您提供路徑,您的.EXE文件已加載。

+0

我希望我可以upvote這個,但我的票。這是正確的答案。 – 2011-02-24 07:30:41

+0

什麼是表決票? – harper 2011-02-24 11:42:52

+0

您每天只能獲得30張選票,您可以使用它來選擇投票問題和答案。我今天早些時候已經全部使用了,所以我不能給你答案加票。我只是評論說,這是一個正確的解決方案,而不是放棄積極的態度。 – 2011-02-24 13:21:21

0

這僅僅是一個建議......
您可以使用一個按鈕,並在OnButonClick()函數中添加以下代碼與您的其他代碼..........

CFileDialog m_IDFile(TRUE); 
    m_IDFile1.m_ofn.lpstrInitialDir=L"C:\\PROGRA~1\\APPY\\"; 
    if(m_IDFile1.DoModal()==IDOK) 
    m_cFileName=m_IDFile1.GetPathName(); 
    info.lpFile = _T(m_cFileName); 
+0

您將硬編碼路徑保存到Program Files文件夾。不要**這樣做。 – 2011-02-24 07:07:15

相關問題