易语言分配字节内存失败是怎么回事。

发布网友 发布时间:2022-04-27 03:24

我来回答

4个回答

热心网友 时间:2022-06-25 10:48

  一般内存分配失败都是在循环之类的操作发生,条件已经重复计算或者是条件超过内存分配的空间计算
  解决办法:可以提前设置分配的内存空间。
  hprocess = OpenProcess (2035711, 0, 目标进程ID)'打开进程
  hvir = VirtualAllocEx (hprocess, 0, 长度, 4096, 4)'申请内存 长度为要申请的大小
  WriteProcessMemory_字节集 (hprocess, hvir, 到字节集 (要注入的DLL文件名), 长度, 0)'写入值
  CloseHandle (hprocess)
  .DLL命令 OpenProcess, 整数型, , "OpenProcess", 公开, 打开进程
  .参数 进程对象, 整数型
  .参数 继承句柄, 整数型
  .参数 进程标识符, 整数型
  .DLL命令 VirtualAllocEx, 整数型, "kernel32.dll", "VirtualAllocEx", 公开, 分配外部指针
  .参数 hProcess, 整数型
  .参数 lpAddress, 整数型
  .参数 dwSize, 整数型
  .参数 flAllocationType, 整数型
  .参数 flProtect, 整数型
  .DLL命令 WriteProcessMemory_字节集, 整数型, "kernel32.dll", "WriteProcessMemory", 公开
  .参数 hProcess, 整数型
  .参数 内存地址, 整数型
  .参数 数据指针, 字节集
  .参数 数据长度, 整数型
  .参数 实际写出长度, 整数型
  .DLL命令 CloseHandle, 逻辑型, "kernel32", "CloseHandle", 公开
  .参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;

热心网友 时间:2022-06-25 10:49

  虚拟内存不要手工调,让电脑自己托管就行。
  注意放虚拟内存的盘剩余空间不要太小。因为虚拟内存最多需要物理内存的3倍空间。
  然后还出问题,就是系统的问题或是物理内存的问题了。
  杀毒或重装系统试下。

热心网友 时间:2022-06-25 10:49

自己提的问题至今没人解答,自己解决了问题分享一下。

我那个软件出问题的代码是 取窗口标题()命令,有些进程或窗口不兼容这个命令。
如需使用建议先使用 取窗口标题() 这个命令,判断一下是不是要找到窗口。

热心网友 时间:2022-06-25 10:50

估计是为问题,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com