コマンドラインパラメーターを使用してCreateProcessAsUserを呼び出す適切な方法について少し混乱しています。したがって、残りのパラメーターの入力の詳細に立ち入ることなく、誰かがこれがどのように行われるべきかを確認できますか?(つまり、exeファイルのパスを最初のコマンドラインパラメーターとして指定する必要がありますか、それともlpApplicationName
十分に指定する必要がありますか?)
LPCTSTR pExePath = L"c:\\program files\\sub dir\\program.exe";
LPCTSTR pCmdLine = L"v=\"one two\"";
TCHAR buff[MAX_PATH];
StringCchCopy(buff, MAX_PATH, _T("\""));
StringCbCat(buff, MAX_PATH, pExePath);
StringCbCat(buff, MAX_PATH, _T("\" "));
StringCbCat(buff, MAX_PATH, pCmdLine);
CreateProcessAsUser(hToken, pExePath, buff, NULL, NULL, FALSE, dwFlags, NULL, NULL, &si, &pi);