Java Windows Mobile:重新启动时自动复制文件

Java Windows Mobile:重新启动时自动复制文件,java,c++,windows,windows-mobile,Java,C++,Windows,Windows Mobile,我有一个在Windows mobile设备上运行的Java应用程序。启动时,应用程序会与我们的服务器对话,查看是否有文件需要更新,如果需要,则下载。如果任何文件是DLL,则需要将其存储在临时目录中,并重新启动设备,因为它们可能正在使用中。当应用程序启动时,它读取一个xml文件,其中列出了所有临时文件以及它们需要去的地方,并将它们复制到适当的位置 出现了一个新的需求,它还涉及更新JVM文件,作为这个过程的一部分。由于执行复制的代码是在JVM上运行的,因此无法执行此操作,因为文件将始终处于使用状态。

我有一个在Windows mobile设备上运行的Java应用程序。启动时,应用程序会与我们的服务器对话,查看是否有文件需要更新,如果需要,则下载。如果任何文件是DLL,则需要将其存储在临时目录中,并重新启动设备,因为它们可能正在使用中。当应用程序启动时,它读取一个xml文件,其中列出了所有临时文件以及它们需要去的地方,并将它们复制到适当的位置

出现了一个新的需求,它还涉及更新JVM文件,作为这个过程的一部分。由于执行复制的代码是在JVM上运行的,因此无法执行此操作,因为文件将始终处于使用状态。所以我们正在考虑用本机代码编写一些东西来完成这个复制过程


在我们开始之前,我只是想知道是否有人知道已经存在的应用程序或技术可以做到这一点(例如,有人建议使用一个注册表项,告诉设备在启动时复制文件)。基本上,需求是读取某种配置文件,详细说明源文件和目标文件的位置,然后执行复制。在我自己编写应用程序重新发明轮子之前,有什么想法吗?

如果你的目标手机是手持式条形码扫描仪(Symbol、Intermec等),他们已经有了一个框架。我不知道所有的细节,但我从以前的项目中知道,它们有一个“受保护”的内存位置,允许应用程序从本质上重新配置/复制自己,避免硬启动和类似问题。也许值得一看的是,这些措施是否对你现有的目标有效


扫描仪使用Windows CE或Windows Mobile。

在没有其他答案的情况下,我编写了一个简单的应用程序来实现这一点,并将其放在启动目录中。非常简单,只是不想重新发明轮子。

您也可以通过运行的应用程序本身重命名正在运行的可执行文件。之后,您可以将文件复制到目录中,只需重新启动应用程序。

目标设备是运行Windows Mobile的标准PDA。(例如HTC HD2、HTC P6500)