易语言修改信息框标题图标源码
系统结构:HookProc,新线程_改图标,取图标句柄,CreateThread,FindWindow,WaitForSingleObject,SendMessage,CopyMemory_IconDirEntry,CopyMemory_CWPSTRUCT,CreateIconFromResource,DestroyIcon,SetWindowsHookEx,GetModuleHandle,CloseHandle,GetWindowText,CallNextHookEx,GetCurrentThreadId,
======程序集1
| |
| |------ _启动子程序
| |
| |------ HookProc
| |
| |------ 新线程_改图标
| |
| |------ 取图标句柄
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ FindWindow
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ CopyMemory_IconDirEntry
| |
| |---[dll]------ CopyMemory_CWPSTRUCT
| |
| |---[dll]------ CreateIconFromResource
| |
| |---[dll]------ DestroyIcon
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ GetCurrentThreadId
调用的DLL命令:
.DLL命令 CreateThread, 整数型, "kernel32", "CreateThread", , 创建新的线程 创建线程成功,CreateThread函数返回新线程的句柄。否则返回NULL。线程执行完毕后自动退出(除非进入的是循环)。
.参数 lpThreadAttributes, 整数型, , 线程的security属性,缺省为0
.参数 dwStackSize, 整数型, , 线程的堆栈大小,为0时与进程相同
.参数 lpStartAddress, 整数型, , 线程函数的起始地址
.参数 lpParameter, 整数型, , 传递线程的上下文,可以传递一个整数型参数。
.参数 dwCreationFlags, 整数型, , 0:创建线程后立即启动,相反的是标志位CREATE_SUSPENDED,这样您需要稍后显示地让该线程运行(可设为-1)
.参数 lpThreadId, 整数型, , 内核给新生成的线程分配的线程ID
.DLL命令 FindWindow, 整数型, "user32", "FindWindowA"
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.DLL命令 WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject", , 监测一个对象
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA"
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 CopyMemory_IconDirEntry, , "kernel32", "RtlMoveMemory"
.参数 Destination, IconDirEntry
.参数 Source, 字节集
.参数 Length, 整数型
.DLL命令 CopyMemory_CWPSTRUCT, , "kernel32", "RtlMoveMemory"
.参数 Destination, CWPSTRUCT
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CreateIconFromResource, 整数型, , "CreateIconFromResource"
.参数 presbits, 字节集
.参数 dwResSize
.参数 fIcon, 逻辑型
.参数 dwVer
.DLL命令 DestroyIcon, 整数型, "user32", "DestroyIcon", , 清除图标 非零表示成功,零表示失败。会设置GetLastError
.参数 hIcon, 整数型, , 图标句柄;
.DLL命令 SetWindowsHookEx, 整数型, "user32", "SetWindowsHookExA", , 安装钩子过程
.参数 idHook, 整数型
.参数 lpfn, 整数型
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 整数型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 hObject, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 hwnd, 整数型, , 欲获取文字的那个窗口的句柄
.参数 lpString, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 cch, 整数型, , lp缓冲区的长度;
.DLL命令 CallNextHookEx, 整数型, "user32", "CallNextHookEx", , 调中链中的下一个挂钩过程
.参数 hHook, 整数型
.参数 ncode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetCurrentThreadId, 整数型, "kernel32", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符 当前的线程标识符
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。