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++程序设计有所帮助。
相关推荐
-
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++获得当前进程运行目录的方法
本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考.具体实现方法如下: 该实例主要通过利用windows API获得,具体代码如下: 复制代码 代码如下: CString GetAppPath() { CString strAppPath; // 保存结果 TCHAR szModuleFileName[MAX_PATH]; // 全路径名 TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊 TCHAR dir[_MAX_
-
c++获取进程信息列表和进程所调用的dll列表
复制代码 代码如下: // -----------------------// FileName: // ProcessInfo.h// remarks:// 基于应用层实现,有的进程,如杀软进程等获取不到调用的dll列表.// ----------------------- #pragma once#include <vector> struct ProInfo{ // 保存进程PID unsigned int uPID; // 保存进程名 CString strPr
-
VC下通过系统快照实现进程管理的方法
本文实例讲述了VC下通过系统快照实现进程管理的方法,分享给大家供大家参考.具体实现方法如下: 一.引言 每一个应用程序实例在运行起来后都会在当前系统下产生一个进程,大多数应用程序均拥有可视界面,用户可以通过标题栏上的关闭按钮关闭程序.但是也有为数不少的在后台运行的程序是没有可视界面的,对于这类应用程序用户只能通过CTRL+ALT+DEL热键呼出"关闭程序"对话框显示出当前系统进程列表,从中可以结束指定的任务.显然,该功能在一些系统监控类软件中还是非常必需的,其处理过程大致可以分为两步:
-
C++进程共享数据封装成类实例
本文实例讲述了C++进程共享数据封装成类的方法,分享给大家供大家参考.具体方法如下: ShareMemory.cpp源文件如下: 复制代码 代码如下: #include "ShareMemory.h" CShareMemory::CShareMemory(const char* pszMapName, int nFileSize, BOOL bServer):m_hFileMap(NULL),m_pBuffer(NULL) { if (bServer) //是服
-
判断指定的进程或程序是否存在方法小结(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使用TerminateProcess结束进程实例
本文实例讲述了VC使用TerminateProcess结束进程的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int KillProcess(LPCSTR pszClassName, LPCSTR pszWindowTitle) { HANDLE hProcessHandle; ULONG nProcessID; HWND TheWindow; TheWindow = ::FindWindow( NULL, pszWindowTitle )
-
VC++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. 关键词: VC++6.0:进程:环境变量:子进程 进程 进程是当前操作系统下一个被加载到内存的.正在运行的应用程序的实例.每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈.堆分
-
VC判断进程是否具有administrator权限的方法
本文实例讲述了VC判断进程是否具有admin权限的方法.是的话返回TRUE,否则为FALSE.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static BOOL IsAdmin(void) { HANDLE hAccessToken; BYTE InfoBuffer[1024]; PTOKEN_GROUPS ptgGroups;
-
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)
-
C++进程间共享数据实例
本文实例讲述了C++进程间共享数据的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int main(int argc, char *argv[]) { //RecursiveDelete("C:\\20_128\\"); //SelfRun("runModel"); //进程间内存共享 LPCTSTR lpName= "hello"; LPCTSTR lpConten
随机推荐
- PHPMyadmin 配置文件详解(配置)
- C#利用SFTP实现上传下载
- Docker镜像上传到阿里云的步骤详解
- DOS 命令字典
- jQuery实现表格奇偶行显示不同背景色 就这么简单
- Java Enum的简单使用
- Oracle数据库系统使用经验六则
- asp.net 开发的一些常用技巧
- VS2010、VS2008等项目的默认浏览器修改方法(图文)
- ASP.net 页面被关闭后,服务器端是否仍然执行中?
- Android时分秒计时器的两种实现方法
- 解决JavaScript数字精度丢失问题的方法
- js获取时间精确到秒(年月日)
- utf8的编码算法 转载
- js写一个弹出层并锁屏效果实现代码
- nginx线程池源码分析
- 关于Rising病毒的查杀
- VBS教程:VBScript 语句-Rem 语句
- Android WebView 详解及简单实例
- Shell中字符串排序的几种方法