-1

我正在开发 MFC 应用程序,我有一个由 MFC 应用程序运行的文件

LPWSTR appParams = A2W(final.c_str());
                    PROCESS_INFORMATION ProcessInfo; //This is what we get as an [out] parameter
                    STARTUPINFO StartupInfo; //This is an [in] parameter
                    ZeroMemory(&StartupInfo, sizeof(StartupInfo));
                    StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
                    if(CreateProcess(L"E:\\Setup\\vncviewer.exe",appParams,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
                    { 
                        WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
                        CloseHandle(ProcessInfo.hThread);
                        CloseHandle(ProcessInfo.hProcess);

                    }

以上是在位置 e:\setup\ 上运行 vncviewer.exe 文件的代码,但我不希望该文件使用静态位置,如何在应用程序文件夹中添加文件,并且在安装文件中添加相同的文件。

4

1 回答 1

0

试试这个代码来运行exe:

TCHAR szExeName[_MAX_PATH], drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT];
GetModuleFileName(hInst, szExeName, _countof(szExeName));
_tsplitpath_s(szExeName, drive, dir, fname, ext);
_tmakepath(szExeName, drive, dir, L"vncviewer", L".exe");
if (CreateProcess(szExeName, ...
于 2013-07-28T07:12:03.827 回答