2011-08-26 66 views
0

我有一个应用程序,其资源需要随时更新。我希望应用程序更新它自己的资源。使用UpdateResource()更新自己的资源

UpdateResource()的问题在于,它不能用于当前正在执行的进程。任何想法如何从应用程序本身更新资源,而不是编写外部应用程序来处理此问题?

问候, 安迪

回答

0

这似乎不是更新应用程序资源的好方法。程序以管理员权限安装。标准用户对程序可执行文件没有写入权限。考虑将您需要的数据保存在用户目录中。例如。 %LOCALAPPDATA%。如果你真的需要资源,你也可以在那里放置一个资源专用的DLL。然后即使在多用户场景下也很容易更新。

+0

ThanQ @frast的想法... – andy

0

您应该将资源转移到外部DLL和卸载它,而更新并重新加载 回来。

+0

@ Anon..thanQ。将看看这是否解决目的 – andy

0

你不能修改你自己的可执行文件。

此外,你不能这样做。如果您使用只读驱动器运行,该怎么办?

用于存储程序状态,有%APPDATA%,%LOCALAPPDATA%和注册表。

+0

@Eugene ...我意识到,不能修改我自己的可执行文件从这个经验...但是我不想写另一个应用程序来做任务,因此是一个问题。将尝试实现其他人给出的DLL思想... ThanQ – andy