首页 > 解决方案 > TCHAR 数组到连接的 LPCSTR

问题描述

我正在读取一个 ini 文件,然后想执行一个外部程序(VBS 文件)。但是我遇到了字符串类型的问题。

这是我的代码。

LPCTSTR path = _T(".\\my.ini");
TCHAR fileName[500];
int b = GetPrivateProfileString(_T("Paths"), _T("filename"), _T(""), fileName, 500, path);
// fileName = myscript.vbs
// I need to execute "wscript myscript.vbs arg1"
// Execute script file. Doesnt work.
WinExec("wscript " + fileName + " arg1", MINIMZIED);
// OR. Doesnt work.
system("wscript " + fileName + " arg1");

这不起作用。WinExec 想要 aLPCSTR但我有fileNamein aTCHAR[]并想与其他一些字符串连接。

如何正确转换或连接它?

标签: c++visual-c++tchar

解决方案


WinExec() 文档

提供此功能只是为了与 16 位 Windows 兼容。应用程序应使用该CreateProcess功能。

这是CreateProcessW()你的情况。

或者,您可以使用_wsystem().


推荐阅读