【问题标题】:compiling windows screensavers on linux在 linux 上编译 windows 屏保
【发布时间】:2010-12-21 02:30:27
【问题描述】:

一位客户想为他的网站访问者提供一个 Windows 屏幕保护程序作为下载。到目前为止,上帝,但是:屏幕保护程序应该在运行中生成一些需要在屏幕保护程序中显示的元日期。

我发现了一些 Windows 工具,它们可以通过 UI (http://www.instantstorm.com/download/) 创建屏幕保护程序文件,但如果两者都没有,它们没有提供文档化的 cli 界面。在 ubuntu 上使用 DOSBox 编译屏幕保护文件时,cli 界面可能很有用。

问题是如何做到这一点?

最好, 斯坦尼斯拉夫

【问题讨论】:

  • 您可以将元数据作为资源嵌入吗?这样,您只需在 linux 上进行最低限度的链接,甚至将元数据的大小限制为 4K 或 8K 并将其直接编辑为预构建的二进制文件。 (不确定资源部分是否已校验和?)
  • 谢谢,主要问题是,是否有基于 Windows 的屏幕保护程序生成程序提供文档化的 cli?

标签: windows linux compiler-construction screensaver dosbox


【解决方案1】:

如果是最近的 Windows 应用程序,您可能需要使用 wine 而不是 dosbox,如果它是 cli 应用程序,则实际上不需要 X。

【讨论】:

  • 感谢您的提示。主要问题是,是否有提供文档化 cli 的屏幕保护程序生成程序?
【解决方案2】:

是的,您可以在 Linux 上编译 windows 二进制文件,但除非您提供更多信息,否则不可能提供更多详细信息。

【讨论】:

  • 这里有三个主要的替代问题:你知道一个为cli生成windows屏幕保护文件的linux程序吗?你知道从 cli 生成 windows 文件的基于 windows 的程序吗?如果是的话,如何在基于 linux 的环境中使用它?
  • 我对windows屏保不熟悉(好几年没用过windows了),不过要看你说的generate是什么意思了?你有 c/c++ 源代码吗?你可以通过在 wine 上安装 msvc 2005 或设置 mingw32 来编译它。
  • 为 windows 设置 mingw 和交叉编译非常简单,但同样,如果您不提供更多信息,就不可能给出准确的答案。
【解决方案3】:

您应该能够使用 mingw32 交叉编译适用于 windows 的可执行文件,但您需要让您的源代码为 GCC 所接受。

但是,您是否考虑过修补二进制文件而不是编译它的可能性?自从我上次在 XP 下尝试以来,也许事情已经发生了变化,但我相信程序或资源中包含的字符串要么未更改,要么以您可以轻松修补的可访问编码,只要您保持内存中的长度相同(对于以 null 结尾的内容,您始终可以通过提前放置 null 来缩短它)。您还可以将数据附加到可执行文件的末尾并在运行时读取。

但是,如果您的二进制文件需要以某种方式进行签名,则您必须在修改后进行签名。

【讨论】:

    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    相关资源
    最近更新 更多