如何卸载其他进程中的DLL。
要卸载其他进程中的DLL一般都要首先提升本进程的权限。相关的操作也很简单,我已经将其封装为一个函数
/*********************************************************************/
BOOL BDebugProcess2(HANDLE hProcess, LPCTSTR PrivilegeName)
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(hProcess,
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return( FALSE );
LookupPrivilegeValue(NULL,PrivilegeName,
&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);
if(GetLastError()=!ERROR_SUCCESS)
{
::MessageBox(NULL,"所申请的权限全部成功","成功",MB_OK);
return FALSE;
}
return TRUE;
}
*