gpt4 book ai didi

windows-7 - Windows 7上的VB6应用有时仅保存到虚拟存储

转载 作者:行者123 更新时间:2023-12-03 16:01:52 26 4
gpt4 key购买 nike

我负责维护VB6应用,并且在Windows 7上遇到了奇怪的问题。

当应用程序安装到Program File(x86)上时(或者我假定它没有写权限的任何目录),大多数情况下,当它打算在本地保存文件时,它最终会在那个奇怪的Virtual Store位置。这是可以接受的。但有时,它会尝试在本地保存,并出现错误消息,提示您不允许在此处保存,并询问您是否要保存在其他地方。好吧,至少,如果您尝试将其另存为新文件,便会执行此操作;如果您尝试将其另存为现有文件,则它将崩溃,并显示运行时错误75。

只需使用“打开文件名为#1”打开两个文件,任何人都可以向我提供有关其在用户无权写入的文件夹中使用或不使用虚拟存储的强制原因的更多信息吗?

另外,我尝试以管理员身份运行该应用程序,但该应用程序在启动时崩溃了,-还没有弄清为什么程序会在锁定模式下而不是以管理员身份运行。

最佳答案

好吧,您已经自己弄清楚了:在有些地方,没有抬高就无法书写,在其他地方则根本没有。对于某些位置,Windows会进行救援并将文件重定向到VirtualStore。其中包括:

  • 程序文件和程序文件(x86)
  • Windows
  • ProgramData

  • 认为永远不要假设文件操作将不会出错是一种良好的编程习惯。您可以预料到错误并事先警告用户,并且必须将任何文件操作嵌入 On Error Goto块中。

    关于程序在提升运行时崩溃(这实际上是最后的解决方案,请避免这种情况):VirtualStore的问题是,您最终可以使用文件的两个版本:一个在提升时写入,而另一个一份不抬高的书。当您运行提升的程序时,它突然使用了比以前更多的文件,因此可能会表现出其他行为,包括崩溃。 The same thing applies to registry keys

    More over UAC Virtualization(优秀文章!)

    祝好运!

    关于windows-7 - Windows 7上的VB6应用有时仅保存到虚拟存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560717/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com