首页 > 解决方案 > 通过命令提示符使用 RUNDLL32 从 Mupen64Plus dll 调用命令

问题描述

我正在使用 Nintendo 64 模拟器Mupen64Plus

它有一个名为mupen64plus-ui-console.exe用于通过命令行启动游戏的文件。它还接受键盘快捷键来执行命令,但它是有限的。


Mupen64Plus 命令/功能

这个 wiki 页面显示了可以调用的所有命令的列表,我认为来自mupen64plus.dll.


运行DLL32

我阅读了如何将命令传递给这样的 dll:

RUNDLL32.EXE <dllname>,<entrypoint> <optional arguments>

使用 RUNDLL32 调用命令

我正在尝试调用M64CMD_STATE_LOAD,cmd.exe来加载保存文件。

来自维基的信息:

命令函数原型 m64p_error CoreDoCommand(m64p_command Command, int ParamInt, void *ParamPtr)

ParamInt Ignored ParamPtr 指向包含状态文件路径和名称的字符串的指针,或 NULL

此命令将尝试加载已保存的状态文件。如果 ParamPtr 不为 NULL,则此函数将从该指针指定的完整路径名加载状态文件。否则(ParamPtr 为 NULL),它将从当前槽加载。

我有运行游戏的 Mupen64Plus 模拟器。然后我打开cmd.exe并粘贴到这一行。

RUNDLL32.EXE "C:\Path\To\mupen64plus.dll", CoreDoCommand M64CMD_STATE_LOAD 1 "C:\Path\To\MySave.m64p"

问题

它接受命令,我没有收到任何错误,但未加载保存文件。


问题

  1. 传递的参数是否错误?

  2. 没有mupen64plus.dll挂钩到当前正在运行的mupen64plus-ui-console.exe吗?

  3. 是否将保存文件加载到任何内容中?

  4. 难道不能这样做吗?

标签: dllcmdemulationcommand-prompt

解决方案


推荐阅读