void FindAllProcessNames(vector<string>& outProcessesContainer )
{
PROCESSENTRY32 processInfo;
processInfo.dwSize = sizeof(processInfo);
HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (processesSnapshot == INVALID_HANDLE_VALUE)
{
return;
}
//Process First in snapshot and traverse the list.
Process32First(processesSnapshot, &processInfo);
outProcessesContainer.push_back(processInfo.szExeFile);
while ( Process32Next(processesSnapshot, &processInfo) )
{
outProcessesContainer.push_back(processInfo.szExeFile);
}
CloseHandle(processesSnapshot);
}
应用:
#include "windows.h"
#include <string>
#include "tlhelp32.h"
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <vector>
void FindAllProcessNames(std::vector<std::string>& outProcessesContainer )
{
PROCESSENTRY32 processInfo;
processInfo.dwSize = sizeof(processInfo);
HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (processesSnapshot == INVALID_HANDLE_VALUE)
{
return;
}
//Process First in snapshot and traverse the list.
Process32First(processesSnapshot, &processInfo);
outProcessesContainer.push_back(processInfo.szExeFile);
while ( Process32Next(processesSnapshot, &processInfo) )
{
outProcessesContainer.push_back(processInfo.szExeFile);
}
CloseHandle(processesSnapshot);
}
int _tmain(int argc, _TCHAR* argv[]){
std::vector<std::string> outProcessesContainer;
FindAllProcessNames(outProcessesContainer);
std::vector<std::string>::iterator it;
for(it = outProcessesContainer.begin();it !=outProcessesContainer.end();++it){
std::cout<<*it<<std::endl;
}
return 0;
}
结果:
[System Process]
System
smss.exe
csrss.exe
winlogon.exe
services.exe
lsass.exe
ati2evxx.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
ZhuDongFangYu.exe
ati2evxx.exe
spoolsv.exe
ksdsvc.exe
sqlservr.exe
alg.exe
explorer.exe
RTHDCPL.EXE
360tray.exe
ctfmon.exe
360sd.exe
emule.exe
CBTray.exe
msnmsgr.exe
wlcomm.exe
TXPlatform.exe
QQ.exe
TXOPShow.exe
devenv.exe
XDict.exe
QQMusic.exe
360rp.exe
devenv.exe
conime.exe
QQ.exe
mspdbsrv.exe
devenv.exe
QQ.exe
devenv.exe
IEXPLORE.EXE
taskmgr.exe
cmd.exe
cmd.exe
Test.exe
分享到:
相关推荐
1. **Windows API**:使用如`CreateToolhelp32Snapshot`, `Process32First` 和 `Process32Next` 这样的API函数,可以从系统中遍历所有进程,并获取它们的进程ID和可执行文件路径。 2. **WMI(Windows Management ...
从压缩包内的文件名“KillList.exe”来看,这很可能是程序的可执行文件,用户运行这个文件就可以启动工具并执行进程终止功能。而“Dat”文件通常是数据文件,可能包含预设的进程列表或者用户的自定义设置。 总的来...
在`PROCESSENTRY32`结构体中,`szExeFile`字段就包含了进程的可执行文件名。结合`GetModuleFileName`函数,可以进一步获取完整路径。 以下是一个简化的C++代码示例: ```cpp #include #include void ...
CreateProcess() 调用的核心参数是可执行文件运行时的文件名及其命令行。下表详细地列出了每个参数的类型和名称。 CreateProcess() 函数的参数 2. 正在运行的进程 如果一个进程拥有至少一个执行线程,则为正在...
在Windows中,进程通常由可执行文件(.exe)启动,这些文件可能位于系统目录、用户的应用程序文件夹或其他位置。知道进程的全路径可以帮助我们理解进程的执行环境,判断其是否属于正常系统组件或是第三方软件的一...
2. 图标获取:使用`ExtractIconEx`或`SHGetFileInfo`函数从进程的可执行文件中提取图标。 3. 用户界面设计:创建用户友好的界面展示进程列表,包括全路径和图标,允许用户交互操作。 此外,这样的工具还可能包含...
这个功能在系统监控、调试或自动化工具中非常实用,因为窗口句柄是Windows操作系统中用于标识和操作窗口的一个重要标识符,而进程文件名则是进程的执行文件路径。 在易语言中,我们可以利用"窗口"和"进程"相关的...
`EnumProcesses()`用于列出系统中所有运行的进程ID,然后`GetModuleFileNameEx()`根据进程ID获取其主模块(通常是可执行文件)的完整路径。 最后,关于“MFC按钮”,这是Microsoft Foundation Classes (MFC)库中的...
窗口句柄(HWND)是Windows API中用于唯一标识一个窗口的对象,而进程文件名则是运行中的进程所对应的可执行文件的路径。在易语言这种中文编程环境中,这个主题涉及到如何通过窗口句柄来获取对应进程的详细信息,...
1. 本程序采用优先数调度算法对进程进行调度,每个进程可有三个状态,即:就绪状态、运行状态、完成状态。并假设初始状态为就绪状态。 2. 程序中的某进程运行时间以时间片为单位计算。各进程的优先数以及进程需运行...
3. **进程全路径文件名**:这指的是进程所关联的可执行文件的完整路径。了解这个信息可以帮助用户定位到进程的源,以检查其是否为恶意软件。 4. **程序图标**:显示与进程相关的图标,使用户能直观地辨认进程。 5. *...
解压后,用户可能需要运行一个可执行文件(.exe)或批处理文件(.bat),或者在命令行中执行脚本(.vbs, .ps1等)。使用时,用户需谨慎,尤其是来自不信任来源的工具,确保在安全的环境中运行,避免对系统造成潜在...
取非系统进程全路径文件名的功能可能涉及到遍历所有进程,筛选出非系统进程,并获取它们对应的执行文件路径。 5. **API调用**:在易语言中,往往需要调用Windows API(应用程序接口)来获取更底层的信息,比如进程...
在"压缩包子文件的文件名称列表"中,"进程管理(显示进程全路径文件名和程序图标)"可能是该增强版进程管理工具的可执行文件或安装程序。使用这个工具,用户可以预期获得以下功能: 1. **全路径显示**:查看每个...
5. **取文件名**:进程通常与一个或多个文件相关联,比如可执行文件。易语言提供了`OpenProcess`和`QueryFullProcessImageName`等函数,可以获取进程的可执行文件路径。 6. **按进程名获取窗口信息**:如果已知进程...
1. `lpApplicationName`:可执行文件名。 2. `lpCommandLine`:命令行参数。 3. `lpProcessAttributes`和`lpThreadAttributes`:安全属性结构体,用于指定进程和线程的安全描述符。 4. `bInheritHandles`:布尔值,...
在Windows API中,通常会使用`GetWindowThreadProcessId`函数获取窗口所属线程ID和进程ID,然后结合`OpenProcess`打开该进程,再调用`QueryFullProcessImageName`获取进程的完整可执行文件路径。在易语言中,这些...
线程是进程中的可执行单元,可以并发执行,提高系统的效率。在 Windows 2000 中,线程是通过 CreateThread() 函数创建的,该函数可以用来创建一个新的线程。 在进程的控制中,还需要注意进程的优先级,进程的优先级...
例如,Windows API中的`EnumProcesses`用于枚举系统中的所有进程,`OpenProcess`获取指定进程的句柄,`GetModuleFileNameEx`获取进程主模块的全路径,`LoadLibrary/GetProcAddress`用于动态加载库并获取函数指针等。...
在提供的文件列表中,我们可以看到一些与编程相关的文件,如`.cpp`(C++源代码文件)、`.h`(头文件)、`.exe`(可执行文件)等,这表明可能存在一个用C++实现的进程调度模拟程序。例如,`Schedule.cpp`和`Schedule....