- .版本 2
- .支持库 eAPI
- .DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess", , 打开一个现有进程的句柄。返回值Long,如执行成功,返回进程句柄;零表示失败。会设置GetLastErrora。
- .参数 dwDesiredAccess, 整数型, , Long,指定这个句柄要求的访问方法。指定API32.TXT文件中以PROCESS_???开头的一个或多个常数
- .参数 bInheritHandle, 整数型, , Long,如句柄能够由子进程继承,则为TRUE
- .参数 dwProcessId, 整数型, , Long,要打开那个进程的进程标识符
- .DLL命令 GetModuleFileNameExA, 整数型, "psapi.dll", , , 获取一个已装载模板的完整路径名称。返回值Long,如执行成功,返回复制到lpFileName的实际字符数量;零表示失败。会设置GetLastErrora。
- .参数 hModule, 整数型, , 备注1无法读取,请您提供该API名报易BBS中ID号klasp完善。
- .参数 dd, 整数型
- .参数 lpFileName, 文本型, , 备注2无法读取,请您提供该API名报易BBS中ID号klasp完善。
- .参数 nSize, 整数型, , 备注3无法读取,请您提供该API名报易BBS中ID号klasp完善。
- .DLL命令 GetSystemDirectoryA, 整数型, "kernel32", "GetSystemDirectoryA", , 这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作。返回值Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度。
- .参数 lpBuffer, 文本型, , 备注1无法读取,请您提供该API名报易BBS中ID号klasp完善。
- .参数 nSize, 整数型, , 备注2无法读取,请您提供该API名报易BBS中ID号klasp完善。
- .程序集 窗口程序集_启动窗口
- .子程序 __启动窗口_创建完毕
- .局部变量 进程信息, 进程信息, , "0"
- .局部变量 计数, 整数型
- .局部变量 路径, 文本型
- 进程信息 = 取系统进程列表 ()
- .计次循环首 (取数组成员数 (进程信息), 计数)
- 路径 = 取进程路径 (进程信息 [计数].进程标识符)
- .如果真 (取文本右边 (路径, 7) = “e\e.exe”)
- 运行 (路径, 假, )
- 结束 ()
- .如果真结束
- .计次循环尾 ()
- 结束 ()
- .子程序 取进程路径, 文本型
- .参数 进程号, 整数型
- .局部变量 系统目录, 文本型
- .局部变量 全路径名, 文本型
- .局部变量 进程句柄, 整数型
- 系统目录 = 取空白文本 (255)
- GetSystemDirectoryA (系统目录, 255)
- 进程句柄 = OpenProcess (1040, 0, 进程号)
- 全路径名 = 取空白文本 (255)
- .如果真 (GetModuleFileNameExA (进程句柄, 0, 全路径名, 255) ≠ 0)
- 全路径名 = 子文本替换 (全路径名, “\??\”, “”, , , 真)
- .如果真 (到小写 (取文本左边 (全路径名, 12)) = “\systemroot\”)
- ' 输出调试文本 (到小写 (取文本左边 (全路径名, 12)))
- 全路径名 = 子文本替换 (全路径名, “\systemroot\”, 系统目录, , , 假)
- .如果真结束
- 返回 (全路径名)
- .如果真结束
- 返回 (“”)
复制代码
|