//=========================================================================//
// 功 能:以指定系统用户身份执行指定程序 //
// 参 数:sUser,用户名 sPass,密码 //
// sFileName,执行程序路径 sCmdLine,命令参数 //
// 返回值:TRUE,FALSE //
// 备 注:无 //
//=========================================================================//
BOOL ExcuteProcess(CString sUser,CString sPass,CString sFileName,CString sCmdLine)
...{
PROCESS_INFORMATION pi;
STARTUPINFO si;
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = 0;
si.cbReserved2 = 0;
si.lpReserved2 = NULL;
STARTUPINFO sinf;
GetStartupInfo(&sinf);
try
...{
if(!CreateProcessWithLogonW(sUser,
NULL,
sPass,
LOGON_WITH_PROFILE,
sFileName,
(LPWSTR)(LPCWSTR)sCmdLine,
CREATE_NEW_PROCESS_GROUP,
NULL,
NULL,
&si,
&pi))
...{
CString sError=FormartLastError(GetLastError());
::WriteLogFile(sError);
AfxMessageBox(sError);
return FALSE;
}
}
catch(...)
...{
AfxMessageBox(FormartLastError(GetLastError()));
return FALSE;
}
return TRUE;
}
本文介绍了一种方法,即如何使用指定的系统用户身份来执行特定的程序,并提供了详细的代码实现过程。此方法涉及创建进程的技术,尤其适用于需要不同权限级别的任务。
4995

被折叠的 条评论
为什么被折叠?



