Visual c++ 替换system()以运行不在后台打开cmd窗口的.exe文件

Visual c++ 替换system()以运行不在后台打开cmd窗口的.exe文件,visual-c++,visual-studio-2005,cmd,Visual C++,Visual Studio 2005,Cmd,我的系统中安装了visual studio 2005和win 7。在C++中,我使用URLDead LooToFILE从本地服务器下载.exe。下载后,我需要运行此.exe文件。我可以使用.exe文件的systempath执行此操作,但它会在后台打开一个cmd窗口。谁能告诉我还有什么方法可以用来替换在后台不打开cmd窗口的系统 我还尝试了以下方法 1. ShellExecute(NULL,(LPCWSTR) "explore",(LPCWSTR) "C:/Users/ay\\AppData/R

我的系统中安装了visual studio 2005和win 7。在C++中,我使用URLDead LooToFILE从本地服务器下载.exe。下载后,我需要运行此.exe文件。我可以使用.exe文件的systempath执行此操作,但它会在后台打开一个cmd窗口。谁能告诉我还有什么方法可以用来替换在后台不打开cmd窗口的系统

我还尝试了以下方法

 1. ShellExecute(NULL,(LPCWSTR) "explore",(LPCWSTR) "C:/Users/ay\\AppData/Roaming/path-here/file.exe", NULL, NULL, SW_SHOWNORMAL);
 2.     LPTSTR szCmdline = _tcsdup(TEXT("C:\\Users\\ay\\AppData\\Roaming\\path-here\\file.exe -L -S"));
        CreateProcess(NULL, szCmdline,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

但是这些命令都不能开始运行我的.exe文件。提前感谢。

下载成功后,请尝试以下解决方案

CString exeFileName;
ShellExecute(NULL, _T("open"), exeFileName.GetBuffer(), NULL, sExePresentInDirectory, SW_SHOWNORMAL);

exeFileName.ReleaseBuffer();
我试过了,效果很好

有关更多帮助,请参阅