2

我正在开发一个程序,它通过使用 kernel32 API 中的 ReadProcessMemory 和 WriteProcessMemory 在运行时修改另一个 win32 程序。

基于 WPF 的 editor.exe 访问 target.exe

我也想通过使用wine来支持那些在*nix平台上运行target.exe的人,但是我不能简单地在wine中运行editor.exe——GUI是在WPF中实现的,wine不支持。

我不想在 WinForms 或 MFC 中重新实现 GUI(由 wine 支持),我想为 *nix 生成一个本机 GUI,在 Linux 上使用 QT 或 GTK,在 Mac 上使用 Cocoa。

基于 GTK 的 editor.so 访问在 wine 中运行的 target.exe

我的问题是关于 winelib,它似乎旨在帮助将 win32 程序移植到 *nix。使用 winelib,程序被编译为 *nix 可执行文件,但可以访问 win32 API,并继续依赖 wine 环境来提供系统资源,例如注册表。

根据WineHQ 介绍页面,使用 winelib 编译的程序也可以访问 *nix API,这个深入的 wiki 页面讨论了使用原生 API 而不是基于 wine 的 API。在某种程度上,用 winelib 编译的程序一只脚在 win32 中,一只脚在 *nix 中。

程序是否可以在仅渲染 *nix gui时使用 winelib,而没有由 wine 渲染的窗口或控制台?我真的只需要访问 ReadProcessMemory、WriteProcessMemory 和一些 Toolhelp32Snapshot 函数(用于定位 target.exe 进程)。我相信所有这些都驻留在 kernel32.dll 中。

4

0 回答 0