我正在为WindowsCE CAB文件实现自定义操作,并且需要连接LPCTSTR以获取指向exe的正确路径。
我的自定义操作收到LPCTSTR作为参数。
因此(伪代码):
extern "C" codeINSTALL_EXIT MYCUSTOMACTION_API Install_Exit(
HWND hwndParent,
LPCTSTR pszInstallDir,
WORD cFailedDirs,
WORD cFailedFiles,
WORD cFailedRegKeys,
WORD cFailedRegVals,
WORD cFailedShortcuts
)
{
if (FALSE == LaunchApp(pszInstallDir + "\\MyApp.exe"))
::MessageBox(hwndParent, L"Could not launch app!", L"Setup", MB_ICONINFORMATION );
return codeINSTALL_EXIT_DONE;
}
这是使用虚构的“+”运算符,该运算符将以我的标准语言C#使用。
我在C++方面的经验很少。为我的目的追加LPCTSTR的正确方法是什么? LaunchApp方法使用此类型作为参数。
另外,如果我想在MessageBox中显示结果路径(出于调试目的),是否有一种快速的方法可以转换为LPCWSTR?
最佳答案
对于串联,请使用StringCchCat
TCHAR pszDest[260] = _T("");
StringCchCat(pszDest, 260, pszInstallDir);
StringCchCat(pszDest, 260, _T("\\MyApp.exe"));
LaunchApp(pszDest);
关于c++ - C++ concat LPCTSTR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5235647/