跨平台自启动

3

我正在编写一个在qt上运行的程序,将安装在闪存驱动器上。我需要它在插入后立即在多个操作系统上运行。我想通过将所有不同的操作系统编译放在单独的文件夹中,并在驱动器的第一部分中拥有每个操作系统的自动运行来实现这一点。这样做可以吗?它应该与SanDisk的U3类似,只要插入就会弹出并从驱动器运行。


2
我不知道其他操作系统也会如此愚蠢地自动运行来自外部来源的未知代码。实际上,我正在考虑建议微软为这个死板的自动运行想法对整个社区造成的所有损害进行赔偿。 - 6502
我可以轻松地在Ubuntu和Fedora中启用自动运行功能。你有没有其他建议来实现我想要的效果?这只会在我的家用电脑上运行,不会在其他地方使用,所以安全性并不是那么大的问题。 - a sandwhich
@6502:微软在Windows XP之后删除了自动运行功能,并提供了一个对话框来显示选项。当然,任何不以管理员身份运行的代码都应该弹出一个同意对话框。 - rubenvb
2个回答

5
它肯定会起作用 - 基本上每个自动运行配置文件都是特定于操作系统的,您可以指定在插入时要运行的确切可执行文件。
Sandisk U3平台是围绕典型Windows设置的一个相当狡猾的技巧,禁止从闪存设备自动运行,但仍然允许在CD-ROM驱动器上运行。U3设备有两个分区,其中一个(大约16MB)包含一个ISO映像,该映像与特殊的USB控制器一起被识别为光驱。
如果您可以得到其中之一的驱动器,它们可以重新编程以执行任何其他操作。

0

我有一个朋友,在他的闪存驱动器上修复了一个自动同步脚本。

在Windows上,它基本上归结为一个单独的AutoRun.inf文件

在其他平台上,我不清楚。在Linux上,这可能取决于桌面环境和安全设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接