VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
来源:互联网 发布:塔兰亚夫人的匕首淘宝 编辑:程序博客网 时间:2024/05/16 08:37
void pslist(void)
{
HANDLE hProcessSnap = NULL;
PROCESSENTRY32 pe32= {0};
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == (HANDLE)-1)
{
printf("/nCreateToolhelp32Snapshot() failed:%d",GetLastError());
return ;
}
pe32.dwSize = sizeof(PROCESSENTRY32);
printf("/nProcessName ProcessID");
if (Process32First(hProcessSnap, &pe32))
{
char a[5];
do
{
itoa(pe32.th32ProcessID,a,10);
printf("/n%-20s%d",pe32.szExeFile,pe32.th32ProcessID);
}
while (Process32Next(hProcessSnap, &pe32));
}
else
{
printf("/nProcess32Firstt() failed:%d",GetLastError());
}
CloseHandle (hProcessSnap);
return;
}
BOOL killps(DWORD id)//杀进程函数
{
HANDLE hProcess=NULL,hProcessToken=NULL;
BOOL IsKilled=FALSE,bRet=FALSE;
__try
{
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hProcessToken))
{
printf("/nOpen Current Process Token failed:%d",GetLastError());
__leave;
}
//printf("/nOpen Current Process Token ok!");
if(!SetPrivilege(hProcessToken,SE_DEBUG_NAME,TRUE))
{
__leave;
}
printf("/nSetPrivilege ok!");
if((hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,id))==NULL)
{
printf("/nOpen Process %d failed:%d",id,GetLastError());
__leave;
}
//printf("/nOpen Process %d ok!",id);
if(!TerminateProcess(hProcess,1))
{
printf("/nTerminateProcess failed:%d",GetLastError());
__leave;
}
IsKilled=TRUE;
}
__finally
{
if(hProcessToken!=NULL) CloseHandle(hProcessToken);
if(hProcess!=NULL) CloseHandle(hProcess);
}
return(IsKilled);
}
BOOL SetPrivilege(HANDLE hToken,LPCTSTR lpszPrivilege,BOOL bEnablePrivilege)//提升权限
{
TOKEN_PRIVILEGES tp;
LUID luid;
if(!LookupPrivilegeValue(NULL,lpszPrivilege,&luid))
{
printf("/nLookupPrivilegeValue error:%d", GetLastError() );
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
if (bEnablePrivilege)
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
else
tp.Privileges[0].Attributes = 0;
AdjustTokenPrivileges(
hToken,
FALSE,
&tp,
sizeof(TOKEN_PRIVILEGES),
(PTOKEN_PRIVILEGES) NULL,
(PDWORD) NULL);
if (GetLastError() != ERROR_SUCCESS)
{
printf("AdjustTokenPrivileges failed: %u/n", GetLastError() );
return FALSE;
}
return TRUE;
}
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- VC++结束进程的方法
- 结束杀掉其他进程的代码
- Ubuntu结束进程或者程序的方法
- VC程序中如何结束系统正在运行的其他进程
- VC程序中如何结束系统正在运行的其他进程 以及本程序自身
- VC++结束进程
- vc 结束进程
- VC++结束进程
- VC++结束进程
- VC++ 结束 进程
- VC++结束程序进程
- VC++结束程序进程
- VC++结束程序进程
- VC++结束程序进程
- 完美框架
- hdu-2018-母牛的故事
- Spring 父子容器(Spring配置的一个坑)
- UVA - 10055 Hashmat the brave warrior
- Tomcat7中的Cookie存入中文导致IllegalArgumentException异常
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- 使用JFreeChart实现基于Web的柱状图
- 视图初始化
- FZU1686--神龙的难题(Dancing Links)
- CF 452A(Eevee-直接试)
- js中动态创建table
- 网站加速 CDN
- Notification
- 全球15个顶级技术类博客