易语言判断程序被打开的父程序源码
系统结构:句柄到父进程,进程id到父进程,进程id到进程名,CreateToolhelpSnapshot,OpenProcess,取窗口标题,EnumThreadWindows,取父窗口,CloseHandle,GetModuleFileNameExA,GetWindowThreadProcessId,ProcessFirst,ProcessNext,获取全路径名,获得进程句柄,FindWindow,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 句柄到父进程
| |
| |------ 进程id到父进程
| |
| |------ 进程id到进程名
| |
| |------ _按钮1_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateToolhelpSnapshot
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ 取窗口标题
| |
| |---[dll]------ EnumThreadWindows
| |
| |---[dll]------ 取父窗口
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ GetModuleFileNameExA
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ ProcessFirst
| |
| |---[dll]------ ProcessNext
| |
| |---[dll]------ 获取全路径名
| |
| |---[dll]------ 获得进程句柄
| |
| |---[dll]------ FindWindow
调用的DLL命令:
.DLL命令 CreateToolhelpSnapshot, 整数型, , "CreateToolhelp32Snapshot"
.参数 lFlags, 整数型
.参数 lProcessID, 整数型
.DLL命令 OpenProcess, 整数型, , "OpenProcess"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型
.DLL命令 取窗口标题, 整数型, , "GetWindowTextA"
.参数 窗口句柄, 整数型
.参数 标题, 文本型
.参数 标题长度, 整数型
.DLL命令 EnumThreadWindows, 整数型, "user32.dll", "EnumThreadWindows", , 枚举与指定任务相关的窗口 非零表示成功,零表示失败
.参数 线程标识符, 整数型, , 某线程的标识符,它的窗口将被枚举
.参数 函数指针, 子程序指针, , 指向一个函数的指针,要求为每个子窗口都调用这个函数。用AddressOf运算符获得函数在标准模式下的地址
.参数 自定义数值, 整数型, , 在枚举期间,传递给dwcbkd32d.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的
.DLL命令 取父窗口, 整数型, "user32.dll", "GetParent", , 判断指定窗口的父窗口 父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲测试的窗口的句柄
.DLL命令 CloseHandle, 整数型, , "CloseHandle"
.参数 hObject, 整数型
.DLL命令 GetModuleFileNameExA, 整数型, "Psapi.dll", "GetModuleFileNameExA"
.参数 hProcess, 整数型
.参数 hModule, 整数型, , 0
.参数 lpFilename, 文本型, , 1000
.参数 nSize, 整数型, , 1000
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId", , 获取与指定窗口关联在一起的一个进程和线程标识符 拥有窗口的线程的标识符
.参数 hwnd, 整数型, , 指定窗口句柄
.参数 lpdwProcessId, 整数型, 传址,
指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.DLL命令 ProcessFirst, 整数型, "kernel32", "Process32First"
.参数 a, 整数型
.参数 b, PROCESSENTRY32
.DLL命令 ProcessNext, 整数型, "kernel32", "Process32Next"
.参数 a, 整数型
.参数 b, PROCESSENTRY32
.DLL命令 获取全路径名, 整数型, "Psapi.dll", "GetModuleFileNameExA"
.参数 hProcess, 整数型
.参数 hModule, 整数型, , 0
.参数 lpFilename, 文本型, , 1000
.参数 nSize, 整数型, , 1000
.DLL命令 获得进程句柄, 整数型, , "OpenProcess"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型
.DLL命令 FindWindow, 整数型, "user32", "FindWindowA"
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。