VBS 如何获取指定进程(详细信息)

VBS 如何获取指定进程(详细信息),第1张

strComputer = ""

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

Set colItems = objWMIServiceExecQuery( _

"SELECT FROM Win32_Process where name='qqexe' ",,48)

For Each objItem in colItems

WscriptEcho "-----------------------------------"&vbCrLf& _

"Win32_Process instance" &vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Caption: " & objItemCaption&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"CommandLine: " & objItemCommandLine&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"CreationClassName: " & objItemCreationClassName&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"CreationDate: " & objItemCreationDate&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Description: " & objItemDescription&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"ExecutablePath: " & objItemExecutablePath&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"ExecutionState: " & objItemExecutionState&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Handle: " & objItemHandle&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"HandleCount: " & objItemHandleCount&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Name: " & objItemName&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"PageFileUsage: " & objItemPageFileUsage&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"ParentProcessId: " & objItemParentProcessId&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"PeakWorkingSetSize: " & objItemPeakWorkingSetSize&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Priority: " & objItemPriority&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"ProcessId: " & objItemProcessId&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"Status: " & objItemStatus&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"TerminationDate: " & objItemTerminationDate&vbCrLf& _

"-----------------------------------"&vbCrLf& _

"WorkingSetSize: " & objItemWorkingSetSize

Next

用命令的方式也是很方便将结果存到变量里呀,用一个复制或者重定向就行了。

c代码:

#include <pthreadh>

#include <stdioh>

void print_xs (void unused)

{

while (1)

fputc (‘x’, stderr);

return NULL;

}

/ The main program /

int main ()

{

int i=0;

while(1){

pthread_t thread_id;

if( NULL != pthread_create (&thread_id, NULL, &print_xs, NULL)){

break;

}

i++;

}

printf("创建线程个数:%d\n",i);

return 0;

}

这个基本不可能,因为各种软件算法不一样的,有的是通过CPU ID 硬盘编号 内存编号 主板编号等等一组硬件设备识别码计算,这种情况你怎么换系统都不会影响你的机器码。但是你的这种情况是系统级的,同时查找系统安装过程中一组特征码,可能这个特征码每次都会变化,所以换系统以后就几乎不可能和原来一致的机器码码了。推荐以后像这种软件你再虚拟机里安装,安装完以后对整个虚拟机目录备份一个。这样你正常使用你的软件,如果有一天你系统坏掉了,可以用备份文件恢复一下,机器码不会改变,同时解决了你系统崩溃的影响。

子程序 内存搜索, 整数型, , 某些情况,需提升权限(返回结果数目,失败返回0)

参数 进程ID, 整数型, , 进程ID

参数 搜索内容, 字节集, , 欲搜索的内容 其他类型-需自行转换为字节集类型

参数 结果数组, 整数型, 参考 数组, 用来保存搜索的结果

局部变量 长度, 整数型

局部变量 *** 作句柄, 整数型

局部变量 内存地址, 整数型

局部变量 内存块信息, MEMORY_BASIC_INFORMATION

局部变量 数据缓冲区, 字节集

局部变量 读取结果, 整数型

局部变量 找到地址, 整数型

清除数组 (结果数组)

长度 = 取字节集长度 (搜索内容)

*** 作句柄 = _打开进程 (2035711, 0, 进程ID) ' 取得 *** 作句柄

判断循环首 (VirtualQueryEx ( *** 作句柄, 内存地址, 内存块信息, 28) ≠ 0) ' 取得内存块信息

如果真 (内存块信息Protect ≠ 16 且 内存块信息Protect ≠ 1 且 内存块信息Protect ≠ 512) ' 判断保护状态

数据缓冲区 = 取空白字节集 (内存块信息RegionSize)

读取结果 = _内存读字节集 ( *** 作句柄, 内存地址, 数据缓冲区, 内存块信息RegionSize, 0)

判断循环首 (读取结果 > 0)

找到地址 = 寻找字节集 (数据缓冲区, 搜索内容, 找到地址) ' 查找是否有要搜索的数据

如果 (找到地址 = -1) ' 跳出 进行下次循环

跳出循环 ()

否则

加入成员 (结果数组, 到数值 (内存地址 + 找到地址 - 1))

如果结束

找到地址 = 找到地址 + 长度

判断循环尾 ()

如果真结束

内存地址 = 内存地址 + 内存块信息RegionSize ' 搜索下一内存块

处理事件 ()

判断循环尾 ()

_关闭对象 ( *** 作句柄)

返回 (取数组成员数 (结果数组))

通过 超级模块的源码 取出来的

版本 2

子程序 搜索基址

局部变量 结果数目, 整数型

局部变量 搜索结果, 整数型, , "0"

局部变量 基址, 整数型

' 结果数目 = 内存搜索 (进程标识, { 139, 1, 139, 80, 12, 83, 106, 1 }, 搜索结果)

' 基址 [1] = 搜索结果 [1] - 十六到十 (“89”)

结果数目 = 内存搜索 (进程标识, { 87, 86, 80, 139, 249, 50, 219 }, 搜索结果)

如果真 (结果数目 ≠ 0)

基址 = 搜索结果 [结果数目] + 十六到十 (“220”)

属性基址 = 读内存整数型 (进程标识, 基址)

火力基址 = 读内存整数型 (进程标识, 基址 - 十六到十 (“100”))

输出调试文本 (十到十六 (火力基址) + #换行符 + 十到十六 (属性基址))

打开任务管理器就可以看到。 打开任务管理器的方法是同时按下crtl+alt+del三个键就能打开任务管理器。就能获取系统进程列表。希望对你有帮助,看后请点击我的回答下方选为满意答案按钮

以上就是关于VBS 如何获取指定进程(详细信息)全部的内容,包括:VBS 如何获取指定进程(详细信息)、Linux下 c/c++ 如何获取当前的进程信息、安装一个程序,识别不了计算特征码怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9830318.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存