|
窗口_发送拖放消息 | 逻辑型 | |
|
参_句柄 | 整数型 | | | |
参_路径 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
局_文件路径 | 文本型 | | |
局_窗口句柄 | 整数型 | | |
局_写入数据 | 字节集 | | |
局_数据指针 | 整数型 | | |
局_进程句柄 | 整数型 | | |
局_进程ID | 整数型 | | |
局_写入大小 | 整数型 | | |
局_窗口句柄 = 参_句柄
GetWindowThreadProcessId (局_窗口句柄, 局_进程ID
)局_文件路径 = 参_路径
局_写入数据 =
到字节集 (20
) +
取空白字节集 (16
) +
到字节集 (局_文件路径
)局_进程句柄 =
OpenProcess (位或 (8, 32
), 0, 局_进程ID
)
如果真 (局_进程句柄 = 0
)
调试输出 (“打开进程失败”)
返回 (假)局_数据指针 = VirtualAllocEx (局_进程句柄, 0, 取文本长度 (局_文件路径) + 20, 4096, 4)
如果真 (局_数据指针 = 0
)
调试输出 (“局_数据指针申请内存失败”)
返回 (假)WriteProcessMemory_整数5 (局_进程句柄, 局_数据指针, lstrcpyn_字节集 (局_写入数据, 局_写入数据, 0), 取文本长度 (局_文件路径) + 20, 局_写入大小)
如果真 (局_写入大小 ≠
取文本长度 (局_文件路径
) + 20
)
返回 (假)SendMessageA (局_窗口句柄, 563, 局_数据指针, 0)WaitForSingleObject (局_窗口句柄, 5000
)WaitForSingleObject (局_进程句柄, 5000
)VirtualFreeEx (局_窗口句柄, 局_数据指针, 0,
#MEM_RELEASE )VirtualFreeEx (局_进程句柄, 局_数据指针, 0,
#MEM_RELEASE )返回 (真)