进程的基本操作
来源:互联网 发布:mac怎么设置鼠标滚轮 编辑:程序博客网 时间:2024/06/15 18:27
原文地址:http://blog.csdn.net/glt3953/article/details/9406063
1.根据进程名称获得进程ID
- bool CCommonTool::GetProcessIdByName(LPTSTR szProcessName, LPDWORD lpPID)
- {
- // 变量及初始化
- STARTUPINFO st;
- PROCESS_INFORMATION pi;
- PROCESSENTRY32 ps;
- HANDLE hSnapshot;
- ZeroMemory(&st, sizeof(STARTUPINFO));
- ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
- st.cb = sizeof(STARTUPINFO);
- ZeroMemory(&ps,sizeof(PROCESSENTRY32));
- ps.dwSize = sizeof(PROCESSENTRY32);
- // 遍历进程
- hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0);
- if(hSnapshot == INVALID_HANDLE_VALUE)
- {
- return FALSE;
- }
- if(!Process32First(hSnapshot,&ps))
- {
- return FALSE;
- }
- do
- {
- // 比较进程名
- if(lstrcmpi(ps.szExeFile,szProcessName)==0)
- {
- // 找到了
- *lpPID = ps.th32ProcessID;
- CloseHandle(hSnapshot);
- return TRUE;
- }
- }
- while(Process32Next(hSnapshot,&ps));
- // 没有找到
- CloseHandle(hSnapshot);
- return FALSE;
- }
2.根据进程名称终止进程
- bool CCommonTool::TerminateProcessByName( LPTSTR szProcessName )
- {
- DWORD nProcessID;
- if (GetProcessIdByName(szProcessName, &nProcessID))
- {
- HANDLE hProcessHandle;
- hProcessHandle = ::OpenProcess(PROCESS_TERMINATE, FALSE, nProcessID);
- return ::TerminateProcess(hProcessHandle, 4);
- }
- return FALSE;
- }
3.根据进程的窗口标题终止进程
- bool CCommonTool::TerminateProcessByWindowTitle( LPTSTR szWindowTitle )
- {
- HANDLE hProcessHandle;
- DWORD nProcessID;
- HWND TheWindow;
- TheWindow = ::FindWindow(NULL, szWindowTitle);
- if (TheWindow)
- {
- ::GetWindowThreadProcessId(TheWindow, &nProcessID);
- hProcessHandle = ::OpenProcess(PROCESS_TERMINATE, FALSE, nProcessID);
- return ::TerminateProcess(hProcessHandle, 4);
- }
- return FALSE;
- }
4.将窗口名称为szWindowTitle的进程显示于最前端
- void CCommonTool::BringWindowToTopByWindowTitle( LPTSTR szWindowTitle )
- {
- HWND TheWindow;
- TheWindow = ::FindWindow(NULL, szWindowTitle);
- if (TheWindow)
- {
- if (IsIconic(TheWindow))//窗口处于最小化状态
- {
- ShowWindow(TheWindow, SW_RESTORE);//窗口恢复为原来的状态
- }
- BringWindowToTop(TheWindow);
- }
0 0
- 进程的基本操作
- [授权发表]进程和进程的基本操作
- 进程的基本操作,fork(),创建多进程。
- Linux进程基本操作
- linux进程地址空间--vma的基本操作
- linux进程地址空间--vma的基本操作
- linux下的基本操作12(进程控制)
- linux进程地址空间--vma的基本操作
- <linux进程>system-V信号量的基本操作
- Linux进程管理基本操作
- 进程的基本属性
- vista的基本进程
- 进程的基本状态
- 基本的系统进程
- 进程的基本状态
- 进程的基本控制
- linux的一些基本命令(关于文件操作, 进程操作,以及/boot问题)
- 原子操作基本内容计算机操作系统进程
- php做推送服务端实现ios消息推送
- 2015-01-23 记录我喜欢的文
- 技术需要耐心
- 继承至QObject的类使用QMetaObject不能找到相应方法(Q_INVOKABLE)
- ITOO---第一阶段小结
- 进程的基本操作
- c语言中变量的存储区域和时效
- Android视图状态及重绘流程分析,带你一步步深入了解View(二)
- linux中errno使用
- 百度和谷歌殊途同归
- Python3.x和Python2.x的区别
- [IOS] view的frame和bounds之区别(位置和大小)
- 怎样在VMware虚拟机中使用安装并设置Ubuntu系统
- 微信redirect_uri参数错误