C++基于CreateToolhelp32Snapshot获取系统进程实例
本文实例讲述了C++基于CreateToolhelp32Snapshot获取系统进程的实现方法。分享给大家供大家参考。具体方法如下:
// GetWinProcess.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <Windows.h> #include <TlHelp32.h> int _tmain(int argc, _TCHAR* argv[]) { HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == FALSE ) { printf("CreateToolhelp32Snapshot error"); return -1; } PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); BOOL bRet = Process32First(hProcessSnap, &pe32); while (bRet) { printf("[process name]:%ws\n", pe32.szExeFile); printf("[PID]:%d\n\n",pe32.th32ProcessID); bRet = Process32Next(hProcessSnap, &pe32); } ::CloseHandle(hProcessSnap); // 经常忘记这句 return 0; }
希望本文所述对大家的C++程序设计有所帮助。
相关推荐
-
VC判断进程是否具有administrator权限的方法
本文实例讲述了VC判断进程是否具有admin权限的方法.是的话返回TRUE,否则为FALSE.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static BOOL IsAdmin(void) { HANDLE hAccessToken; BYTE InfoBuffer[1024]; PTOKEN_GROUPS ptgGroups;
-
判断指定的进程或程序是否存在方法小结(vc等)
一.判断指定程序名的进程是否存在 BOOL EnumWindows( WNDENUMPROC lpEnumFunc, // pointer to callback function LPARAM lParam // application-defined value); The EnumWindows function enumerates all top-level windows on the screen by passing the handle to each
-
VC下通过系统快照实现进程管理的方法
本文实例讲述了VC下通过系统快照实现进程管理的方法,分享给大家供大家参考.具体实现方法如下: 一.引言 每一个应用程序实例在运行起来后都会在当前系统下产生一个进程,大多数应用程序均拥有可视界面,用户可以通过标题栏上的关闭按钮关闭程序.但是也有为数不少的在后台运行的程序是没有可视界面的,对于这类应用程序用户只能通过CTRL+ALT+DEL热键呼出"关闭程序"对话框显示出当前系统进程列表,从中可以结束指定的任务.显然,该功能在一些系统监控类软件中还是非常必需的,其处理过程大致可以分为两步:
-
VC实现A进程窗口嵌入到B进程窗口中显示的方法
本文通过一个Demo示例讲述把A应用程序嵌入到B应用程序中显示的方法. 主要代码如下: //在B应用启动时创建A进程 CreateProcess(_T("A.exe"),NULL,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,NULL,NULL); Sleep(30); HWND hWndChild = FindWindow(_T("AAA"),_T("AAA")); while(!hWndChild)
-
VC++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. 关键词: VC++6.0:进程:环境变量:子进程 进程 进程是当前操作系统下一个被加载到内存的.正在运行的应用程序的实例.每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈.堆分
-
c++获取进程信息列表和进程所调用的dll列表
复制代码 代码如下: // -----------------------// FileName: // ProcessInfo.h// remarks:// 基于应用层实现,有的进程,如杀软进程等获取不到调用的dll列表.// ----------------------- #pragma once#include <vector> struct ProInfo{ // 保存进程PID unsigned int uPID; // 保存进程名 CString strPr
-
VC++获得当前进程运行目录的方法
本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考.具体实现方法如下: 该实例主要通过利用windows API获得,具体代码如下: 复制代码 代码如下: CString GetAppPath() { CString strAppPath; // 保存结果 TCHAR szModuleFileName[MAX_PATH]; // 全路径名 TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊 TCHAR dir[_MAX_
-
C++进程间共享数据实例
本文实例讲述了C++进程间共享数据的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int main(int argc, char *argv[]) { //RecursiveDelete("C:\\20_128\\"); //SelfRun("runModel"); //进程间内存共享 LPCTSTR lpName= "hello"; LPCTSTR lpConten
-
C++进程共享数据封装成类实例
本文实例讲述了C++进程共享数据封装成类的方法,分享给大家供大家参考.具体方法如下: ShareMemory.cpp源文件如下: 复制代码 代码如下: #include "ShareMemory.h" CShareMemory::CShareMemory(const char* pszMapName, int nFileSize, BOOL bServer):m_hFileMap(NULL),m_pBuffer(NULL) { if (bServer) //是服
-
C++通过TerminateProess结束进程实例
本文实例讲述了C++通过TerminateProess结束进程的方法,分享给大家供大家参考. 具体实现方法如下: BOOL TerminateProcessFromId(DWORD pid) { HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE,pid); if (hProcess == NULL) { printf("openprocess failed..."); return FALSE; } BOOL bRet
-
VC使用TerminateProcess结束进程实例
本文实例讲述了VC使用TerminateProcess结束进程的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int KillProcess(LPCSTR pszClassName, LPCSTR pszWindowTitle) { HANDLE hProcessHandle; ULONG nProcessID; HWND TheWindow; TheWindow = ::FindWindow( NULL, pszWindowTitle )
随机推荐
- VBS教程:对象-Matches 集合
- SVN使用教程_动力节点Java学院整理
- 深入java对象复制的分析
- Python安装第三方库及常见问题处理方法汇总
- 介绍几个ASP.NET中容易忽略但却很重要的方法函数
- 5分钟内了解C语言的指针
- 对PHP语言认识上需要避免的10大误区
- golang网络socket粘包问题的解决方法
- MySQL中出现乱码问题的终极解决宝典
- Android Spinner 下拉菜单的使用
- js 对象是否存在判断
- asp与js的类型转换函数介绍
- C#实现json格式转换成对象并更换key的方法
- SQL server中字符串逗号分隔函数分享
- Python下使用Psyco模块优化运行速度
- JS命令模式例子之菜单程序
- repeater分页 内容显示
- C#使用IComparer自定义List类实现排序的方法
- Android MIUI通知类短信权限的坑
- 浅谈发布订阅模式与观察者模式