我正在尝试分析https://outflank.nl/blog/2018/10/06/old-school-evil-excel-4-0-macros-xlm中介绍的 Excel 4.0 宏示例。
在测试时,我注意到它在 32 位 Excel 上运行良好,但在 64 位上无法正常运行。
最终,我找到了原因,那就是:VirtualAlloc
函数总是返回 8 个字节中的 4 个字节。
这里的实现:
= REGISTER("Kernel32", "VirtualAlloc", "JJJJJ", "valloc", , 1, 9)
= valloc(0, 64 * 1024, 4096, 64)
如何解决?