// m1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include"stdio.h"
#include <windows.h>
#include <tlhelp32.h>
void shutdown()
{
// 以下为提权函数,使其用关机权限,
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
{
printf("OpenProcessToken调用失败");
}
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
//下面为关机函数
if(!ExitWindowsEx(EWX_SHUTDOWN ,0))
{
printf("关机失败");
}
}
int main(int argc, char* argv[])
{
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
printf(" CreateToolhelp32Snapshot调用失败!");
return -1;
}
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
while(bMore)
{
printf(" 进程名称:%s \n", pe32.szExeFile);
if(stricmp("QQ.exe",pe32.szExeFile)==0)
{
printf("QQ 运行中,准备关机");
shutdown();
break;
}
if(stricmp("Thunder.exe",pe32.szExeFile)==0)
{
printf("Thunder 运行中,准备关机");
shutdown();
break;
}
bMore = ::Process32Next(hProcessSnap, &pe32);
}
::CloseHandle(hProcessSnap);
printf("QQ 不在运行");
return 0;
}
PROCESSENTRY32(来自百度百科)用来存放快照进程信息的一个结构体。(存放进程信息和调用成员输出进程信息)用来 Process32First指向第一个进程信息,并将进程信息抽取到PROCESSENTRY32中。用Process32Next指向下一条进程信息。
1.
DWORD exitCode;
char fileName[]="chrome.exe";
DWORD handleId=FindProcess(fileName);
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,handleId);
GetExitCodeProcess(hProcess,&exitCode);
::TerminateProcess(hProcess,exitCode);
printf("Failed: GetLastError returned %u\n", exitCode);
2.
TerminateProcess 函数终止指定进程及其所有线程。
3.
GetExitCodeProcess 获取一个已中断进程的退出代码
4.
OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄。
5.
FindProcess获取进程id
分享到:
相关推荐
深入.NET,指导学习1,S2 深入.NET,指导学习1,S2 深入.NET,指导学习1,S2 深入.NET,指导学习1,S2 深入.NET,指导学习1,S2 深入.NET,指导学习1,S2 深入.NET,指导学习1,S2
S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1 S2,.net,C#,指导学习1
jquery学习1正文模板,AJAX学习用的
。acm学习1.。计划.pdf
AI人工智能学习 一、算法基础:机器学习 1.matplotlib 2.numpy 3.pandas 4.seaborn 5.K近邻算法 6.线性回归 7.逻辑回归 8.决策树 9.集成学习 10.聚类算法 11.朴素贝叶斯 12.SVM算法 13.EM算法 14.HMM算法 15.集成...
人工智能 人工智能(AI)学习是指通过计算机和算法来模仿人类的学习能力。AI学习的核心是“机器学习”(Machine Learning),其中的模型可以通过数据和经验来进行训练和改进,最终能够执行任务,如分类、预测、模式...
1. 机器学习与强化学习 2. 强化学习中的几个基本概念 3. 强化学习要素 4. 强化学习算法分类 5.强化学习中的几个基本问题
ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1
联邦学习(Federated Learning)是一种分布式机器学习方法,由谷歌在2016年首次提出,主要为了解决数据孤岛问题和保护用户隐私。在传统的机器学习中,大量的数据需要集中在一个中心节点进行处理和建模,这在许多领域...
1、 一键登录到我的学习中心,能记住密码,不必每次都输入用户名,密码,验证码 2、 进入学习中心后,打开没有学习的课程,可以一键学习完,不包含考试,不必天天挂网 3、 根据你的网速你所有的课程能在10分钟内学...
机器学习是计算机科学的一个分支,它致力于通过让计算机系统学习数据中的模式来改善其性能,而无需显式编程。这门课程的课件是大牛根据8年的实战经验精心总结的,涵盖了理论与实践的结合,旨在帮助学习者深入理解和...
【深度学习PyTorch极简入门PDF教程1】 深度学习是一种机器学习的分支,它主要依赖于多层的神经网络架构来实现复杂的学习任务。在深度学习中,这些多层的神经网络通过逐层处理输入数据,从底层的简单特征到高层的...
《深度学习花书中文版1》是一本针对深度学习领域的入门书籍,旨在引导读者了解这一领域的历史背景、发展趋势以及核心概念。书中特别强调了随着数据量、模型规模和技术精度的不断提升,深度学习对现实生活产生了巨大...
吴恩达,这个名字在人工智能和机器学习领域如雷贯耳。作为全球知名的计算机科学家和教育家,吴恩达教授不仅在学术界有着举足轻重的地位,他所开设的在线课程也已成为世界各地学习者所追捧的宝库。尤其值得一提的是他...
1. 数据准备:收集并标注大量的图像数据,这是构建有效模型的基础。 2. 创建模型:选择合适的网络架构,如卷积神经网络(CNN),并在Halcon环境中设置模型参数。 3. 训练模型:使用训练数据对模型进行迭代优化,调整...
1. 强化学习的基本概念 强化学习是机器学习的一种方法,通过试验和错误来提高学习效率,提高智能体的决策能力。强化学习的基本概念包括马尔科夫决策过程(MDP)、部分可观测马尔科夫决策过程(POMDP)、值函数、...
《图解深度学习》这本书是针对想要深入了解深度学习的初学者所编写的一本入门指南。作者山下隆义,一位在日本深度学习领域有着丰富研究经验的专家,通过136张图表和60段代码,旨在帮助读者清晰直观地理解和掌握深度...
西蒙学习法、5+1+1学习法、学习金字塔、费曼学习法、FASTER学习法、康奈尔笔记法、SQ3R学习法、RIA阅读法是八种不同的学习方法,它们各自具有独特的特点和适用场景,下面将详细介绍和比较这些学习法。 首先,西蒙...
《深度学习》系统地介绍了深度学习的基本理论、算法和应用,涵盖了从基础数学到深度学习的前沿研究。该书分为三个主要部分:应用数学与机器学习基础、现代实践中的深度网络和深度学习的研究前沿。 第一部分:应用...
本书主要从以下几方面探讨深度学习 1、为什么要深度学习?背景和动机 2、怎样深度学习?基本学习算法 3、深度学习有什么应用?典型应用举例 4、总结和展望 希望对您有帮助