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++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. 关键词: VC++6.0:进程:环境变量:子进程 进程 进程是当前操作系统下一个被加载到内存的.正在运行的应用程序的实例.每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈.堆分
-
VC判断进程是否具有administrator权限的方法
本文实例讲述了VC判断进程是否具有admin权限的方法.是的话返回TRUE,否则为FALSE.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: static BOOL IsAdmin(void) { HANDLE hAccessToken; BYTE InfoBuffer[1024]; PTOKEN_GROUPS ptgGroups;
-
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++获取进程信息列表和进程所调用的dll列表
复制代码 代码如下: // -----------------------// FileName: // ProcessInfo.h// remarks:// 基于应用层实现,有的进程,如杀软进程等获取不到调用的dll列表.// ----------------------- #pragma once#include <vector> struct ProInfo{ // 保存进程PID unsigned int uPID; // 保存进程名 CString strPr
-
VC使用TerminateProcess结束进程实例
本文实例讲述了VC使用TerminateProcess结束进程的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int KillProcess(LPCSTR pszClassName, LPCSTR pszWindowTitle) { HANDLE hProcessHandle; ULONG nProcessID; HWND TheWindow; TheWindow = ::FindWindow( NULL, pszWindowTitle )
-
C++进程间共享数据实例
本文实例讲述了C++进程间共享数据的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int main(int argc, char *argv[]) { //RecursiveDelete("C:\\20_128\\"); //SelfRun("runModel"); //进程间内存共享 LPCTSTR lpName= "hello"; LPCTSTR lpConten
-
VC++获得当前进程运行目录的方法
本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考.具体实现方法如下: 该实例主要通过利用windows API获得,具体代码如下: 复制代码 代码如下: CString GetAppPath() { CString strAppPath; // 保存结果 TCHAR szModuleFileName[MAX_PATH]; // 全路径名 TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊 TCHAR dir[_MAX_
-
判断指定的进程或程序是否存在方法小结(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)
-
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
随机推荐
- js解析与序列化json数据(三)json的解析探讨
- java 多线程饥饿现象的问题解决方法
- 提升(web)权限终极9技巧
- Python 40行代码实现人脸识别功能
- 教你如何开启shopnc b2b2c 伪静态
- PHP使用pear自带的mail类库发邮件的方法
- AS3 js正则表达式 反向引用(backreference)
- C#中使用DataContractSerializer类实现深拷贝操作示例
- Android 使用帧动画内存溢出解决方案
- 几个经典的ASP应用
- ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
- 在JavaScript中对HTML进行反转义详解
- 对dbunit进行mybatis DAO层Excel单元测试(必看篇)
- Win10 64位安装个人版SQL2000图文教程
- JavaScript 指导方针
- Android之利用EventBus发送消息传递示例
- Android中Webview打开网页的同时发送HTTP头信息方法
- python difflib模块示例讲解
- C#实现的UDP收发请求工具类实例
- 利用Java理解sql的语法(实例讲解)
