-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 に答える