易语言多种结束进程方法源码
系统结构:m1,m2,m3,m4,m5,m6,m7,m9,m10,m8,getpid,getcsrsspid,gettid,killtid,killby_wintopic,postthreadquit,RemoteExitProcess,enum,枚举窗口,DebugThread,KillThreadDebugProcess,UnloadNtdll,native_api,ZwQuerySystemInformation,CreateToolhelp32Snapshot,Process32First,CloseHandle,Process32Next,ZwQueryInformationProcess,Thread32First,Thread32Next,OpenThread,FindWindowA,API_投递消息,TerminateThread,API_PostThreadMessage,API_CreateRemoteThread,API_OpenProcess,API_GetModuleHandle,EnumWindows,GetWindowThreadProcessId,IsWindowVisible,GetWindowText,API_GetProcAddress,API_CreateThread,API_DebugActiveProcess,ZwOpenProcess,ZwTerminateProcess,ZwClose,取指针_整数,NtUnmapViewOfSection,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ m1
| |
| |------ m2
| |
| |------ m3
| |
| |------ m4
| |
| |------ m5
| |
| |------ m6
| |
| |------ m7
| |
| |------ m9
| |
| |------ m10
| |
| |------ m8
| |
| |------ _按钮1_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |
======功能集
| |
| |------ getpid
| |
| |------ getcsrsspid
| |
| |------ gettid
| |
| |------ killtid
| |
| |------ killby_wintopic
| |
| |------ postthreadquit
| |
| |------ RemoteExitProcess
| |
| |------ enum
| |
| |------ 枚举窗口
| |
| |------ DebugThread
| |
| |------ KillThreadDebugProcess
| |
| |------ UnloadNtdll
| |
| |------ native_api
| |
| |
======调用的Dll
| |
| |---[dll]------ ZwQuerySystemInformation
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ ZwQueryInformationProcess
| |
| |---[dll]------ Thread32First
| |
| |---[dll]------ Thread32Next
| |
| |---[dll]------ OpenThread
| |
| |---[dll]------ FindWindowA
| |
| |---[dll]------ API_投递消息
| |
| |---[dll]------ TerminateThread
| |
| |---[dll]------ API_PostThreadMessage
| |
| |---[dll]------ API_CreateRemoteThread
| |
| |---[dll]------ API_OpenProcess
| |
| |---[dll]------ API_GetModuleHandle
| |
| |---[dll]------ EnumWindows
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ IsWindowVisible
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ API_GetProcAddress
| |
| |---[dll]------ API_CreateThread
| |
| |---[dll]------ API_DebugActiveProcess
| |
| |---[dll]------ ZwOpenProcess
| |
| |---[dll]------ ZwTerminateProcess
| |
| |---[dll]------ ZwClose
| |
| |---[dll]------ 取指针_整数
| |
| |---[dll]------ NtUnmapViewOfSection
调用的DLL命令:
.DLL命令 ZwQuerySystemInformation, 整数型, "ntdll.dll", "ZwQuerySystemInformation"
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 SystemInformation, 字节集, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot"
.参数 dwFlags, 整数型
.参数 th32ProcessID, 整数型
.DLL命令 Process32First, 整数型, , "Process32First"
.参数 hSnapshot, 整数型
.参数 lppe, PROCESSENTRY32
.DLL命令 CloseHandle, , , "CloseHandle"
.参数 ProcessHandle, 整数型
.DLL命令 Process32Next, 整数型, , "Process32Next"
.参数 hSnapshot, 整数型
.参数 lppe, PROCESSENTRY32
.DLL命令 ZwQueryInformationProcess, 整数型, "ntdll.dll", "ZwQueryInformationProcess"
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 dd, 整数型
.参数 SystemInformation, PROCESS_BASIC_INFORMATION, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 Thread32First, 整数型, , "Thread32First"
.参数 hSnapshot, 整数型
.参数 lppe, THREADENTRY32
.DLL命令 Thread32Next, 整数型, , "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lppe, THREADENTRY32
.DLL命令 OpenThread, 整数型, , "OpenThread"
.参数 h, 整数型
.参数 a, 逻辑型
.参数 b, 整数型
.DLL命令 FindWindowA, 整数型
.参数 a, 整数型
.参数 b, 文本型
.DLL命令 API_投递消息, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
.参数 wMsg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 TerminateThread, 整数型, , "TerminateThread"
.参数 a, 整数型
.参数 b, 整数型, , 0
.DLL命令 API_PostThreadMessage, 整数型, "user32", "PostThreadMessageA", , 将一条消息投递给应用程序。这条消息由应用程序的内部GetMessage循环获得,但不会传给一个特定的窗口 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 idThread, 整数型, , 用于接收消息的那个线程的标识符
.参数 msg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 API_CreateRemoteThread, 整数型, "kernel32", "CreateRemoteThread", , 在另一进程中建立线索
.参数 hProcess, 整数型
.参数 lpThreadAttributes, SECURITY_ATTRIBUTES
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型
.DLL命令 API_OpenProcess, 整数型, "kernel32", "OpenProcess", , 将句柄返回给过程对象
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型
.DLL命令 API_GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 EnumWindows, 整数型, "user32.dll", "EnumWindows", , 枚举窗口列表中的所有父窗口(顶级和被所有窗口) 非零表示成功,零表示失败
.参数 函数指针, 子程序指针, , 指向为每个子窗口都调用的一个函数的指针。用AddressOf运算符获得函数在标准模式下的地址
.参数 自定义数值, 整数型, , 在枚举期间,传递给dwcbkd32.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的;
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId", , ; 获取与指定窗口关联在一起的一个进程和线程标识符 拥有窗口的线程的标识符
.参数 hwnd, 整数型, , 指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.参数 lpdwProcessId, 整数型, 传址, 指定窗口句柄;
.DLL命令 IsWindowVisible, 整数型, "user32", "IsWindowVisible", , 判断窗口是否可见 如窗口可见则返回TRUE(非零)
.参数 窗口句柄, 整数型, , 要测试的那个窗口的句柄;
.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲获取文字的那个窗口的句柄
.参数 缓冲区, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 缓冲尺寸, 整数型, , lp缓冲区的长度;
.DLL命令 API_GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 API_CreateThread, 整数型, "kernel32", "CreateThread", , 建立新的线索
.参数 lpThreadAttributes, SECURITY_ATTRIBUTES
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型
.DLL命令 API_DebugActiveProcess, 逻辑型, "kernel32", "DebugActiveProcess", , 连接调试进程
.参数 dwProcessId, 整数型
.DLL命令 ZwOpenProcess, 整数型, "ntdll.dll", "ZwOpenProcess"
.参数 hProcess, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 ObjectAttributes, OBJECT_ATTRIBUTES
.参数 ClientId, CLIENT_ID
.DLL命令 ZwTerminateProcess, 整数型, "ntdll.dll"
.参数 ProcessHandle, 整数型
.参数 ExitStatus, 整数型
.DLL命令 ZwClose, 整数型, "ntdll.dll", "ZwClose"
.参数 hnd
.DLL命令 取指针_整数, 整数型, , "lstrcpyn"
.参数 欲取其指针, 整数型, 传址
.参数 欲取其指针, 整数型, 传址
.参数 保留, 整数型, , 0
.DLL命令 NtUnmapViewOfSection, , "ntdll.dll", "NtUnmapViewOfSection"
.参数 a
.参数 b
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。