窗口程序集名 | 保 留 | 保 留 | 备 注 |
放大通用对话框 | |||
变量名 | 类 型 | 数组 | 备 注 |
JmpCode | 整数型 | "2" |
子程序名 | 返回值类型 | 公开 | 备 注 | ||
放大通用对话框 | 修改易语言默认的通用对话框 |
变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
hModule | 整数型 | |||||
FuncAddress | 整数型 | "2" | ||||
hHook | 整数型 | "2" | ||||
HookFuncAddr | 整数型 | "2" | ||||
OldProtect | 整数型 |
HookFuncAddr [2] = 到整数 (&放大__GetSaveFileNameA)
hModule = 放大_GetModuleHandle (“comdlg32.dll”)
FuncAddress [1] = 放大_GetProcAddress (hModule, “GetOpenFileNameA”)
FuncAddress [2] = 放大_GetProcAddress (hModule, “GetSaveFileNameA”)
hHook [1] = 放大_VirtualAlloc (0, 14, 12288, 64)
hHook [2] = 放大_VirtualAlloc (0, 14, 12288, 64)
放大_RtlMoveMemory_1 (hHook [1], 到字节集 (FuncAddress [1]), 4)
放大_RtlMoveMemory_1 (hHook [2], 到字节集 (FuncAddress [2]), 4)
JmpCode [1] = hHook [1] + 4
JmpCode [2] = hHook [2] + 4
放大_RtlMoveMemory (JmpCode [1], FuncAddress [1], 5)
放大_RtlMoveMemory (JmpCode [2], FuncAddress [2], 5)
放大_RtlMoveMemory_1 (JmpCode [1] + 5, { 233 } + 到字节集 (到整数 (FuncAddress [1] + 5 - JmpCode [1] - 10)), 5)
放大_RtlMoveMemory_1 (JmpCode [2] + 5, { 233 } + 到字节集 (到整数 (FuncAddress [2] + 5 - JmpCode [2] - 10)), 5)
放大_VirtualProtect (FuncAddress [1], 5, 64, OldProtect)
放大_RtlMoveMemory_1 (FuncAddress [1], { 233 } + 到字节集 (到整数 (HookFuncAddr [1] - FuncAddress [1] - 5)), 5)
放大_VirtualProtect (FuncAddress [1], 5, OldProtect, 0)
放大_VirtualProtect (FuncAddress [2], 5, 64, OldProtect)
放大_RtlMoveMemory_1 (FuncAddress [2], { 233 } + 到字节集 (到整数 (HookFuncAddr [2] - FuncAddress [2] - 5)), 5)
放大_VirtualProtect (FuncAddress [2], 5, OldProtect, 0)
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
放大__GetOpenFileNameA | 整数型 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
lpofn | 整数型 |
返回 (放大_Jmp (JmpCode [1], lpofn))
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
放大__GetSaveFileNameA | 整数型 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
lpofn | 整数型 |
返回 (放大_Jmp (JmpCode [2], lpofn))
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
放大_处理OFN | |||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
lpofn | 整数型 |
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
放大_Jmp | 整数型 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
地址 | 整数型 | 参数 | 整数型 |
返回 (0)
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
放大_指针到整数 | 整数型 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
指针 | 整数型 |
变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
JmpCode | 整数型 | "2" |
返回 (0)
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_GetModuleHandle | 整数型 | 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError | ||
DLL库文件名: | ||||
kernel32 | ||||
在DLL库中对应命令名: | ||||
GetModuleHandleA | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
lpModuleName | 文本型 | 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD; |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_GetProcAddress | 整数型 | 返回函数地址 | ||
DLL库文件名: | ||||
kernel32 | ||||
在DLL库中对应命令名: | ||||
GetProcAddress | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hModule | 整数型 | |||
lpProcName | 文本型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_VirtualAlloc | 整数型 | 保留虚拟页 | ||
DLL库文件名: | ||||
kernel32 | ||||
在DLL库中对应命令名: | ||||
VirtualAlloc | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
lpAddress | 整数型 | |||
dwSize | 整数型 | |||
flAllocationType | 整数型 | |||
flProtect | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_RtlMoveMemory_1 | ||||
DLL库文件名: | ||||
kernel32.dll | ||||
在DLL库中对应命令名: | ||||
RtlMoveMemory | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
Destination | 整数型 | |||
Source | 字节集 | |||
Length | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_RtlMoveMemory | ||||
DLL库文件名: | ||||
kernel32.dll | ||||
在DLL库中对应命令名: | ||||
RtlMoveMemory | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
Destination | 整数型 | |||
Source | 整数型 | |||
Length | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
放大_VirtualProtect | 整数型 | |||
DLL库文件名: | ||||
kernel32.dll | ||||
在DLL库中对应命令名: | ||||
VirtualProtect | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
lpAddress | 整数型 | |||
dwSize | 整数型 | |||
flNewProtect | 整数型 | |||
lpflOldProtect | 整数型 |
词条作者信息 使用例程