进程操作
来源:互联网 发布:java校招面经 编辑:程序博客网 时间:2024/06/06 16:31
- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <tlhelp32.h>
- int KillProcess(DWORD Pid)
- {
- //打开进程得到进程句柄
- HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);
- if(hProcess==NULL)
- {
- printf("OpenProcess error/n");
- return 0;
- }
- //结束进程
- if (TerminateProcess(hProcess,0))
- {
- printf("结束进程成功/n");
- return 0;
- }
- else
- {
- printf("结束进程失败/n");
- return 0;
- }
- }
- int GetProcess()
- {
- char buff[1024]={0};
- PROCESSENTRY32 pe32;
- pe32.dwSize=sizeof(pe32);
- //获得系统内所有进程快照
- HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
- if(hProcessSnap==INVALID_HANDLE_VALUE)
- {
- printf("CreateToolhelp32Snapshot error");
- return 0;
- }
- //枚举列表中的第一个进程
- BOOL bProcess=Process32First(hProcessSnap,&pe32);
- while(bProcess)
- {
- //格式化进程名和进程ID
- wsprintf(buff,"%s---------------%d/r/n",pe32.szExeFile,pe32.th32ProcessID);
- //输出进程名和进程ID
- printf(buff);
- memset(buff,0x00,1024);
- //继续枚举进程
- bProcess=Process32Next(hProcessSnap,&pe32);
- }
- CloseHandle(hProcessSnap);
- return 0;
- }
- int main(int argc, char* argv[])
- {
- if(argc==2&&strcmp(argv[1],"list")==0)
- {
- GetProcess();
- }
- if(argc==3&&strcmp(argv[1],"kill")==0)
- {
- KillProcess(atoi(argv[2]));
- }
- return 0;
- }
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 进程操作
- 列出进程 对进程操作
- 进程操作-查看进程优先级
- 进程操作技巧集
- 进程的信号量操作
- Process进程的操作
- Linux进程操作
- 插入排序 c++
- printf在消息框中的使用
- 非常有用的简单的强大的SQL穿越字符串方法
- 仙剑3的凄美情感
- 写自己的ls命令
- 进程操作
- 通过进程名获取进程的工作目录
- win32文件搜索
- GDI+显示gif动画ImageEx类
- memmove、memcpy和mem**y简介及函数的实现
- ~~
- 简单工厂+适配器+单例
- 输出菱形
- jQuery实现仿flash大图切换效果(带鼠标感应)