// 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
分享到:
相关推荐
K8S学习1
动手学深度学习1[学习记录]
sql学习 获取执行计划各方法学习1_(表访问次数).sql
第1章 机器学习基础机器学习 概述机器学习就是把无序的数据转换成有用的信息。1. 获取海量的数据2. 从海量数据中获取有用的信息我们会利用计算机来彰显数据背后的
1. 定义:机器学习是人工智能的一个分支,通过让计算机在数据中学习规律,实现自我改进和预测能力,而无需显式编程。 2. 类型:主要包括监督学习、无监督学习、半监督学习和强化学习。其中,监督学习如分类和回归,...
01-JavaSE知识(学习27天) 02-Web前端知识(学习5天) 03-MySql数据库与JDBC(学习3天) 04-JavaWeb知识(学习12天) ...15-SSM企业案例-客户管理系统(学习1天) 16-SSM分布式案例-互联网商城(学习13天) 17品优购电商系统开发
1)有监督学习、无监督学习、半监督学习和强化学习 2)批量学习和增量学习 3)基于实例的学习和基于模型的学习 4.机器学习的流程 数据采集 数据清洗 数据 ----------------------- 数据预处理 选择模型 训练模型 验证...
1. 监督学习是机器学习的主要类型之一,包括回归和分类任务。例如,线性回归用于预测连续数值,逻辑回归适用于二分类问题,神经网络和SVM(支持向量机)则可处理多种复杂的分类和回归问题。 2. 垃圾邮件检测是典型...
javascript学习javascript学习javascript学习javascript学习
1、 一键登录到我的学习中心,能记住密码,不必每次都输入用户名,密码,验证码 2、 进入学习中心后,打开没有学习的课程,可以一键学习完,不包含考试,不必天天挂网 3、 根据你的网速你所有的课程能在10分钟内学...
1. 监督学习:数据集带有标签,如线性分类器、支持向量机等。 2. 无监督学习:数据集无标签,依赖于样本间的相似性,如k-means算法。 3. 半监督学习:面对大量无标签数据和少量有标签数据的情况。 4. 强化学习:通过...
联邦学习(Federated Learning)是一种分布式机器学习方法,由谷歌在2016年首次提出,主要为了解决数据孤岛问题和保护用户隐私。在传统的机器学习中,大量的数据需要集中在一个中心节点进行处理和建模,这在许多领域...
ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1 ssh学习笔记1
《1天搞懂深度学习》是由台湾著名计算机科学家李宏毅教授编著的一份详尽且易懂的深度学习教程。这份300多页的PPT教程以其系统的结构和通俗的语言,为初学者和有一定基础的学习者提供了深入了解深度学习的宝贵资源。...
一天搞懂深度学习,适合初学者快速入门,并进行实际的简单算法
国家开放大学学习指南形考任务1答案 本文将从国家开放大学学习指南形考任务1答案中提炼出相关的知识点,并对每个问题进行详细的解释和分析。 一、国家开放大学的特征 国家开放大学是一所新型大学,具有不同于普通...
机器学习是计算机科学的一个分支,它致力于通过让计算机系统学习数据中的模式来改善其性能,而无需显式编程。这门课程的课件是大牛根据8年的实战经验精心总结的,涵盖了理论与实践的结合,旨在帮助学习者深入理解和...
1. 监督学习:机器学习的一种主要类型,其中算法通过已标记的训练数据学习规律,然后用于预测未知数据的标签,如分类和回归问题。 2. 无监督学习:在没有标签的数据集上进行的学习,目的是发现数据中的内在结构或...
【深度学习PyTorch极简入门PDF教程1】 深度学习是一种机器学习的分支,它主要依赖于多层的神经网络架构来实现复杂的学习任务。在深度学习中,这些多层的神经网络通过逐层处理输入数据,从底层的简单特征到高层的...
1、资源内容:基于Matlab实现统计学习、机器学习、神经网络、深度学习案例(源码+数据).rar 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为“参考资料”参考学习使用。 3、解压说明:本资源需要电脑...