开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3164|回复: 4
收起左侧

【9x下进程管理】选择夹的应用

[复制链接]
结帖率:100% (2/2)
发表于 2018-3-15 02:01:52 | 显示全部楼层 |阅读模式   山东省济南市
dll命令
  
DLL命令名返回值类型公开备 注
CreateToolhelp32Snapshot整数型 
DLL库文件名:
 
在DLL库中对应命令名:
CreateToolhelp32Snapshot
参数名类 型传址数组备 注
dwFlags整数型
th32ProcessID整数型
DLL命令名返回值类型公开备 注
Process32First整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Process32First
参数名类 型传址数组备 注
hSnapshot整数型
lppePROCESSENTRY32
DLL命令名返回值类型公开备 注
CloseHandle 
DLL库文件名:
 
在DLL库中对应命令名:
CloseHandle
参数名类 型传址数组备 注
ProcessHandle整数型
DLL命令名返回值类型公开备 注
Process32Next整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Process32Next
参数名类 型传址数组备 注
hSnapshot整数型
lppePROCESSENTRY32
DLL命令名返回值类型公开备 注
Thread32First整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Thread32First
参数名类 型传址数组备 注
hSnapshot整数型
lpteTHREADENTRY32
DLL命令名返回值类型公开备 注
Thread32Next整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Thread32Next
参数名类 型传址数组备 注
hSnapshot整数型
lpteTHREADENTRY32
DLL命令名返回值类型公开备 注
Module32Next整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Module32Next
参数名类 型传址数组备 注
hSnapshot整数型
lpmeMODULEENTRY32
DLL命令名返回值类型公开备 注
Module32First整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Module32First
参数名类 型传址数组备 注
hSnapshot整数型
lpmeMODULEENTRY32
DLL命令名返回值类型公开备 注
Heap32ListNext整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Heap32ListNext
参数名类 型传址数组备 注
hSnapshot整数型
lphlHEAPLIST32
DLL命令名返回值类型公开备 注
Heap32ListFirst整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Heap32ListFirst
参数名类 型传址数组备 注
hSnapshot整数型
lphlHEAPLIST32
DLL命令名返回值类型公开备 注
Heap32Next整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Heap32Next
参数名类 型传址数组备 注
lpheHEAPENTRY32
DLL命令名返回值类型公开备 注
Heap32First整数型 
DLL库文件名:
 
在DLL库中对应命令名:
Heap32First
参数名类 型传址数组备 注
lpheHEAPENTRY32
th32ProcessID整数型
th32HeapID整数型
DLL命令名返回值类型公开备 注
GetFileVersionInfoSize整数型 
DLL库文件名:
VERSION.DLL
在DLL库中对应命令名:
GetFileVersionInfoSizeA
参数名类 型传址数组备 注
File文本型
Num整数型
DLL命令名返回值类型公开备 注
GetFileVersionInfo整数型 
DLL库文件名:
VERSION.DLL
在DLL库中对应命令名:
GetFileVersionInfoA
参数名类 型传址数组备 注
File文本型
Num整数型
Size整数型
VerInfo字节集
DLL命令名返回值类型公开备 注
VerQueryValue整数型 
DLL库文件名:
VERSION.DLL
在DLL库中对应命令名:
VerQueryValueA
参数名类 型传址数组备 注
VerInfo字节集
String文本型
Buffer整数型
Len整数型
DLL命令名返回值类型公开备 注
MoveMemory 
DLL库文件名:
 
在DLL库中对应命令名:
RtlMoveMemory
参数名类 型传址数组备 注
dest字节集
Source整数型
length整数型
DLL命令名返回值类型公开备 注
GetModuleFileName整数型 
DLL库文件名:
 
在DLL库中对应命令名:
GetModuleFileNameA
参数名类 型传址数组备 注
hModule整数型
lpFileName文本型
nSize整数型
DLL命令名返回值类型公开备 注
OpenProcess整数型 
DLL库文件名:
 
在DLL库中对应命令名:
OpenProcess
参数名类 型传址数组备 注
dwDesiredAccess整数型
bInheritHandle逻辑型
dwProcessId整数型
DLL命令名返回值类型公开备 注
TerminateProcess整数型 
DLL库文件名:
 
在DLL库中对应命令名:
TerminateProcess
参数名类 型传址数组备 注
hProcess整数型
uExitCode整数型


自定义数据类型
.版本 2

.数据类型 PROCESSENTRY32
    .成员 dwSize, 整数型, , , 296
    .成员 cntUsage, 整数型
    .成员 th32ProcessID, 整数型
    .成员 th32DefaultHeapID, 整数型
    .成员 th32ModuleID, 整数型
    .成员 cntThreads, 整数型
    .成员 th32ParentProcessID, 整数型
    .成员 pcPriClassBase, 整数型
    .成员 dwFlags, 整数型
    .成员 szExeFile, 字节型, , "260"

.数据类型 HEAPLIST32
    .成员 dwSize, 整数型, , , 16
    .成员 th32ProcessID, 整数型
    .成员 th32HeapID, 整数型
    .成员 dwFlags, 整数型

.数据类型 HEAPENTRY32
    .成员 dwSize, 整数型, , , 36
    .成员 hHandle, 整数型
    .成员 dwAddress, 整数型
    .成员 dwBlockSize, 整数型
    .成员 dwFlags, 整数型
    .成员 dwLockCount, 整数型
    .成员 dwResvd, 整数型
    .成员 th32ProcessID, 整数型
    .成员 th32HeapID, 整数型

.数据类型 MODULEENTRY32
    .成员 dwSize, 整数型, , , 548
    .成员 th32ModuleID, 整数型
    .成员 th32ProcessID, 整数型
    .成员 GlblcntUsage, 整数型
    .成员 ProccntUsage, 整数型
    .成员 modBaseAddr, 整数型
    .成员 modBaseSize, 整数型
    .成员 hModule, 整数型
    .成员 szModule, 字节型, , "256"
    .成员 szExePath, 字节型, , "260"

.数据类型 THREADENTRY32
    .成员 dwSize, 整数型, , , 28
    .成员 cntUsage, 整数型
    .成员 th32ThreadID, 整数型
    .成员 th32OwnerProcessID, 整数型
    .成员 tpBasePri, 整数型
    .成员 tpDeltaPri, 整数型
    .成员 dwFlags, 整数型

.数据类型 VS_FIXEDFILEINFO
    .成员 Signatur, 整数型
    .成员 StrucVersion, 整数型
    .成员 FileVersionMS, 整数型
    .成员 FileVersionLS, 整数型
    .成员 ProductVersionMS, 整数型
    .成员 ProductVersionLS, 整数型
    .成员 FileFlagsMask, 整数型
    .成员 FileFlags, 整数型
    .成员 FileOS, 整数型
    .成员 FileType, 整数型
    .成员 FileSubtype, 整数型
    .成员 FileDateMS, 整数型
    .成员 FileDateLS, 整数型
源码
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
New ()
子程序名返回值类型公开备 注
New  
变量名类 型静态数组备 注
hSnapShot整数型 
End整数型 
bufferPROCESSENTRY32 
进程名文本型0
进程ID整数型0
默认堆ID整数型0
模块ID整数型0
父进程ID整数型0
线程数整数型0
线程基本优先级整数型0
引用数整数型0
超级列表框1.全部删除 ()
hSnapShot = CreateToolhelp32Snapshot (2, 0)
buffer.dwSize = 296
End = Process32First (hSnapShot, buffer)
判断循环首 (End ≠ 0)
加入成员 (进程名, 到文本 (buffer.szExeFile))
加入成员 (进程ID, buffer.th32ProcessID)
加入成员 (默认堆ID, buffer.th32DefaultHeapID)
加入成员 (模块ID, buffer.th32ModuleID)
加入成员 (父进程ID, buffer.th32ParentProcessID)
加入成员 (线程数, buffer.cntThreads)
加入成员 (线程基本优先级, buffer.pcPriClassBase)
加入成员 (引用数, buffer.cntUsage)
End = Process32Next (hSnapShot, buffer)
判断循环尾 ()
CloseHandle (hSnapShot)
End = 取数组成员数 (进程名)
_启动窗口.标题 = “当前进程数:”到文本 (End)
计次循环首 (End, hSnapShot)
超级列表框1.插入表项 (-1, 进程名 [hSnapShot], , , , 进程ID [hSnapShot])
超级列表框1.置标题 (hSnapShot - 1, 1, bw (取十六进制文本 (进程ID [hSnapShot])))
超级列表框1.置标题 (hSnapShot - 1, 2, 到文本 (线程基本优先级 [hSnapShot]))
超级列表框1.置标题 (hSnapShot - 1, 3, 到文本 (线程数 [hSnapShot]))
超级列表框1.置标题 (hSnapShot - 1, 4, 到文本 (引用数 [hSnapShot]))
超级列表框1.置标题 (hSnapShot - 1, 5, bw (取十六进制文本 (父进程ID [hSnapShot])))
超级列表框1.置标题 (hSnapShot - 1, 6, bw (取十六进制文本 (默认堆ID [hSnapShot])))
超级列表框1.置标题 (hSnapShot - 1, 7, bw (取十六进制文本 (模块ID [hSnapShot])))
计次循环尾 ()
子程序名返回值类型公开备 注
bw文本型 
参数名类 型参考可空数组备 注
a文本型
返回 (取重复文本 (8 - 取文本长度 (a), “0”) + a)
子程序名返回值类型公开备 注
模块信息  
变量名类 型静态数组备 注
hSnapShot整数型 
End整数型 
bufferMODULEENTRY32 
模块路径文本型0
模块名文本型0
模块ID整数型0
模块句柄整数型0
全局引用数整数型0
引用数整数型0
模块基址整数型0
模块大小整数型0
超级列表框2.全部删除 ()
如果真 (超级列表框1.现行选中项 ≠ -1)
hSnapShot = CreateToolhelp32Snapshot (8, 超级列表框1.取表项数值 (超级列表框1.现行选中项))
buffer.dwSize = 548
End = Module32First (hSnapShot, buffer)
判断循环首 (End ≠ 0)
加入成员 (模块名, 到文本 (buffer.szModule))
加入成员 (模块路径, 到文本 (buffer.szExePath))
加入成员 (模块ID, buffer.th32ModuleID)
加入成员 (模块句柄, buffer.hModule)
加入成员 (全局引用数, buffer.GlblcntUsage)
加入成员 (引用数, buffer.ProccntUsage)
加入成员 (模块基址, buffer.modBaseAddr)
加入成员 (模块大小, buffer.modBaseSize)
End = Module32Next (hSnapShot, buffer)
判断循环尾 ()
CloseHandle (hSnapShot)
计次循环首 (取数组成员数 (模块名), hSnapShot)
超级列表框2.插入表项 (-1, 模块名 [hSnapShot], , , , 模块句柄 [hSnapShot])
超级列表框2.置标题 (hSnapShot - 1, 1, 模块路径 [hSnapShot])
超级列表框2.置标题 (hSnapShot - 1, 2, bw (取十六进制文本 (模块ID [hSnapShot])))
超级列表框2.置标题 (hSnapShot - 1, 3, bw (取十六进制文本 (模块基址 [hSnapShot])))
超级列表框2.置标题 (hSnapShot - 1, 4, 到文本 (四舍五入 (模块大小 [hSnapShot] ÷ 1024, 2)) + “ KB”)
超级列表框2.置标题 (hSnapShot - 1, 5, 到文本 (引用数 [hSnapShot]))
超级列表框2.置标题 (hSnapShot - 1, 6, 到文本 (全局引用数 [hSnapShot]))
计次循环尾 ()

子程序名返回值类型公开备 注
线程信息  
变量名类 型静态数组备 注
hSnapShot整数型 
End整数型 
bufferTHREADENTRY32 
线程ID整数型0
线程基本优先级整数型0
线程优先级整数型0
引用数整数型0
超级列表框3.全部删除 ()
如果真 (超级列表框1.现行选中项 ≠ -1)
hSnapShot = CreateToolhelp32Snapshot (4, 0)
buffer.dwSize = 28
End = Thread32First (hSnapShot, buffer)
判断循环首 (End ≠ 0)
如果真 (buffer.th32OwnerProcessID = 超级列表框1.取表项数值 (超级列表框1.现行选中项))
加入成员 (线程ID, buffer.th32ThreadID)
加入成员 (线程基本优先级, buffer.tpBasePri)
加入成员 (线程优先级, buffer.tpDeltaPri)
加入成员 (引用数, buffer.cntUsage)
End = Thread32Next (hSnapShot, buffer)
判断循环尾 ()
CloseHandle (hSnapShot)
计次循环首 (取数组成员数 (线程ID), hSnapShot)
超级列表框3.插入表项 (-1, bw (取十六进制文本 (线程ID [hSnapShot])), , , , 线程ID [hSnapShot])
超级列表框3.置标题 (hSnapShot - 1, 1, 到文本 (线程基本优先级 [hSnapShot]))
超级列表框3.置标题 (hSnapShot - 1, 2, 到文本 (线程优先级 [hSnapShot]))
超级列表框3.置标题 (hSnapShot - 1, 3, 到文本 (引用数 [hSnapShot]))
计次循环尾 ()

子程序名返回值类型公开备 注
堆信息  
变量名类 型静态数组备 注
hSnapShot整数型 
End整数型 
buffer1HEAPLIST32 
buffer2HEAPENTRY32 
堆ID整数型0
堆标志整数型0
堆位置整数型0
PID整数型 
块句柄整数型0
块基址整数型0
块尺寸整数型0
块标志整数型0
块锁定次数整数型0
size整数型 
high整数型 
树型框1.清空 ()
如果真 (超级列表框1.现行选中项 ≠ -1)
PID = 超级列表框1.取表项数值 (超级列表框1.现行选中项)
hSnapShot = CreateToolhelp32Snapshot (1, PID)
buffer1.dwSize = 16
End = Heap32ListFirst (hSnapShot, buffer1)
判断循环首 (End ≠ 0)
加入成员 (堆ID, buffer1.th32HeapID)
加入成员 (堆标志, buffer1.dwFlags)
End = Heap32ListNext (hSnapShot, buffer1)
判断循环尾 ()
CloseHandle (hSnapShot)
计次循环首 (取数组成员数 (堆ID), hSnapShot)
buffer2.dwSize = 36
End = Heap32First (buffer2, PID, 堆ID [hSnapShot])
size = 0
判断循环首 (End ≠ 0)
加入成员 (块句柄, buffer2.hHandle)
加入成员 (块基址, buffer2.dwAddress)
加入成员 (块尺寸, buffer2.dwBlockSize)
size = size + buffer2.dwBlockSize
加入成员 (块标志, buffer2.dwFlags)
加入成员 (块锁定次数, buffer2.dwLockCount)
End = Heap32Next (buffer2)
判断循环尾 ()
判断 (堆标志 [hSnapShot] = 1)
high = 树型框1.加入项目 (-1, “堆ID:”bw (取十六进制文本 (堆ID [hSnapShot])) + “ - 尺寸:”到文本 (size)“字节 - 标志:默认”, , , 堆标志 [hSnapShot])
判断 (堆标志 [hSnapShot] = 2)
high = 树型框1.加入项目 (-1, “堆ID:”bw (取十六进制文本 (堆ID [hSnapShot])) + “ - 尺寸:”到文本 (size)“字节 - 标志:共享”, , , 堆ID [hSnapShot])
high = 树型框1.加入项目 (-1, “堆ID:”bw (取十六进制文本 (堆ID [hSnapShot])) + “ - 尺寸:”到文本 (size)“字节”, , , 堆ID [hSnapShot])
计次循环首 (取数组成员数 (块句柄), End)
判断 (块标志 [End] = 1)
树型框1.加入项目 (high, “块句柄:”bw (取十六进制文本 (块句柄 [End])) + “ - 块基址:”bw (取十六进制文本 (块基址 [End])) + “ - 块尺寸:”到文本 (块尺寸 [End])“字节 - 标志:固定 - 块锁定次数:”到文本 (块锁定次数 [End]), , , )
判断 (块标志 [End] = 2)
树型框1.加入项目 (high, “块句柄:”bw (取十六进制文本 (块句柄 [End])) + “ - 块基址:”bw (取十六进制文本 (块基址 [End])) + “ - 块尺寸:”到文本 (块尺寸 [End])“字节 - 标志:空闲 - 块锁定次数:”到文本 (块锁定次数 [End]), , , )
判断 (块标志 [End] = 4)
树型框1.加入项目 (high, “块句柄:”bw (取十六进制文本 (块句柄 [End])) + “ - 块基址:”bw (取十六进制文本 (块基址 [End])) + “ - 块尺寸:”到文本 (块尺寸 [End])“字节 - 标志:可移动 - 块锁定次数:”到文本 (块锁定次数 [End]), , , )
树型框1.加入项目 (high, “块句柄:”bw (取十六进制文本 (块句柄 [End])) + “ - 块基址:”bw (取十六进制文本 (块基址 [End])) + “ - 块尺寸:”到文本 (块尺寸 [End])“字节 - 块锁定次数:”到文本 (块锁定次数 [End]), , , )

计次循环尾 ()
计次循环尾 ()

子程序名返回值类型公开备 注
版本信息  
变量名类 型静态数组备 注
Info字节集 
Size整数型 
VerPointer整数型 
Len整数型 
Ver字节集 
language文本型 
文件名文本型 
编辑框1.内容 = “”
文件名 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0)
Size = GetFileVersionInfoSize (文件名, 0)
如果真 (Size = 0)
返回 ()
Info = 取空白字节集 (Size)
GetFileVersionInfo (文件名, 0, Size, Info)
如果真 (VerQueryValue (Info, “\VarFileInfo\Translation”, VerPointer, Len) = 0)
返回 ()
Ver = 取空白字节集 (Len)
MoveMemory (Ver, VerPointer, Len)
language = bw (取十六进制文本 (取字节集数据 (Ver, 3)))
language = 取文本右边 (language, 4)取文本左边 (language, 4)
计次循环首 (12, Size)
如果真 (VerQueryValue (Info, “\StringFileInfo\” + language + “\”多项选择 (Size, “Comments”, “CompanyName”, “FileDescription”, “FileVersion”, “InternalName”, “LegalCopyright”, “LegalTrademarks”, “OriginalFilename”, “PrivateBuild”, “ProductName”, “ProductVersion”, “SpecialBuild”), VerPointer, Len) ≠ 0)
Ver = 取空白字节集 (Len)
MoveMemory (Ver, VerPointer, Len)
文件名 = 取字节集数据 (Ver, 10)
如果真 (文件名 ≠ “”)
编辑框1.加入文本 (多项选择 (Size, “备注”, “公司名”, “描述”, “文件版本”, “内部名称”, “版权”, “合法商标”, “原文件名”, “个人用编译版说明”, “产品名称”, “产品版本”, “特殊编译版说明”)“:” + 文件名 + #换行符 )


计次循环尾 ()
子程序名返回值类型公开备 注
_选择夹1_子夹被改变  
_超级列表框1_左键单击表项 ()
子程序名返回值类型公开备 注
_刷新_被选择  
New ()
子程序名返回值类型公开备 注
_超级列表框1_左键单击表项  
判断 (选择夹1.现行子夹 = 0)
模块信息 ()
判断 (选择夹1.现行子夹 = 1)
线程信息 ()
判断 (选择夹1.现行子夹 = 2)
堆信息 ()
版本信息 ()

子程序名返回值类型公开备 注
_终止_被选择  
变量名类 型静态数组备 注
handle整数型 
如果真 (信息框 (“要强行终止吗?”, 33, ) = 0)
handle = OpenProcess (1, 假, 超级列表框1.取表项数值 (超级列表框1.现行选中项))
TerminateProcess (handle, 0)
CloseHandle (handle)
New ()
_超级列表框1_左键单击表项 ()


i支持库列表   支持库注释   
iext扩展界面支持库一





发表于 2018-3-22 10:00:22 | 显示全部楼层   江西省鹰潭市
这个点个赞,支持下,也希望精易论坛越办越好,祝大家开工大吉!
回复 支持 反对

使用道具 举报

发表于 2018-3-22 09:22:39 | 显示全部楼层   江西省鹰潭市
这个点个赞,支持下,也希望精易论坛越办越好!!!
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)
发表于 2018-3-17 14:43:35 | 显示全部楼层   四川省成都市
每天多学一点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表