1

Visual Studio 2005を使用していて、システムにWin7をインストールしています。C ++では、URLDownloadToFile()を使用してローカルサーバーから.exeをダウンロードしています。ダウンロードした後、この.exeファイルを実行する必要があります。system( ".exeファイルへのパス")を使用してこれを行うことはできますが、バックグラウンドでcmdウィンドウが開きます。バックグラウンドでcmdウィンドウを開かないsystem()を置き換えるために他にどのような方法を使用できるか教えてもらえますか?

私も次の方法を試してみました

 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ファイルの実行を開始できません。前もって感謝します。

4

1 に答える 1

0

ダウンロードが正常に完了したら、次の解決策を試してください。

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

exeFileName.ReleaseBuffer();

私は試しました、それはうまくいきます。

詳細については、こちらを参照てください。

于 2013-03-26T05:41:46.810 に答える